Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MPQUIC installation #42

Closed
Zack-Tsang opened this issue Feb 21, 2023 · 5 comments
Closed

MPQUIC installation #42

Zack-Tsang opened this issue Feb 21, 2023 · 5 comments

Comments

@Zack-Tsang
Copy link

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.

@Zack-Tsang
Copy link
Author

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!

@snopytas
Copy link

snopytas commented Mar 8, 2023

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.

@bailiao
Copy link

bailiao commented Apr 6, 2023

@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!

@snopytas
Copy link

snopytas commented Apr 9, 2023

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

@Zack-Tsang
Copy link
Author

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants