qdeconinck/mp-quic

MPQUIC installation

Zack-Tsang opened this issue · 5 comments

Hello, everybody! I want to install the mpquic in real environment, however, I could not install when I executed _go get github.com/lucas-clemente/quic-go and go get -t -u ./... . Does anybody successfully install it? I would very appreciated if someone could tell me how to install it. Thank you so much for your attention and participation.

Hello, Quentin De Coninck, thanks for your excellent work. I compiled it by using Go 1.19.6, however, I met so many errors.

  1. When I executed go get github.com/lucas-clemente/quic-go, the errors are as following:

use of internal package github.com/quic-go/quic-go/internal/ackhandler not allowed
use of internal package github.com/quic-go/quic-go/internal/flowcontrol not allowed
use of internal package github.com/quic-go/quic-go/internal/handshake not allowed
use of internal package github.com/quic-go/quic-go/internal/logutils not allowed
use of internal package github.com/quic-go/quic-go/internal/protocol not allowed
use of internal package github.com/quic-go/quic-go/internal/qerr not allowed
use of internal package github.com/quic-go/quic-go/internal/utils not allowed
use of internal package github.com/quic-go/quic-go/internal/utils/linkedlist not allowed
use of internal package github.com/quic-go/quic-go/internal/wire not allowed

  1. And I omitted these errors, when I run go get -t -u ./..., the errors I met are as following:
    internal/crypto/cert_cache.go:12:24: cannot use generic type lru.Cache[K comparable, V any] without instantiation
    internal/crypto/cert_cache.go:44:37: cannot infer K (/home/zhiy/go/src/github.com/hashicorp/golang-lru/lru.go:27:10)

Would you please tell me how to fix these problems? Thanks a lot!

Hi, did you try the tutorial on this page:

https://multipath-quic.org/2017/12/09/artifacts-available.html

Section "Starting from the Mininet VM (skip if you downloaded our VM)"

Actually you don't need mininet. It works with golang up to version 1.15.

@snopytas hello, I'm also trying to install the mquic by using Go 1.20.2, but the packet "go get github.com/lucas-clemente/quic-go" is totally different now. Is there any way to successfully run mpquic tests with higher version Go?

Thank you in advance!

Hi @bailiao , I only fully worked with mp-quic using go 1.15. I'm not a go expert, but I know that starting from 1.16 the way how dependencies are installed changed. As mentioned in this pull request [1] there is a patched version of mp-quic at [2] for go 1.17.7.

I achieved to run the example program by using go 1.20 with the following commands:
git clone https://github.com/jmwample/mp-quic/tree/conext17-1
cd mp-quic/example
go run main.go -v

The dependencies will be installed and after that the output is
Created pconn_manager, any on [::]:6121
Listening for udp connections on [::]:6121

[1] #33
[2] https://github.com/jmwample/mp-quic/tree/conext17-1

Hi, did you try the tutorial on this page:

https://multipath-quic.org/2017/12/09/artifacts-available.html

Section "Starting from the Mininet VM (skip if you downloaded our VM)"

Actually you don't need mininet. It works with golang up to version 1.15.

Thank you, snopytas! I have tried, however, I failed several times. I will try with version 1.15, thanks again!