compile error: s.DialTimeout undefined (type *utp.Socket has no field or method DialTimeout)
whatupdave opened this issue · comments
› go get -u github.com/meshbird/meshbird
# github.com/meshbird/meshbird/common
../../meshbird/meshbird/common/tryconnect.go:38:20: s.DialTimeout undefined (type *utp.Socket has no field or method DialTimeout)
Looks like https://github.com/anacrolix/utp has changed their api.
Workaround:
I was able to get it to compile by using an older copy of the utp library.
Pulled it from https://github.com/syncthing/utp .
As syncthing is fairly reliable I figured it a good place to get it. (If I had more git-fu I would of pulled an older stable version)
This issue is caused by: anacrolix/utp#24
I haven't coded in go before so went for the quick fix.
Method:
-
run ($ == command line)
$go get -u github.com/meshbird/meshbird -
$ cd src/github.com/anacrolix
-
$ mv utp utp.old
-
$ git clone https://github.com/syncthing/utp.git
(pulls down the older ver of utp) -
$ cd ../../..
-
$ go get -u github.com/meshbird/meshbird
You will have to go and copy the new meshbird exe manually to /usr/local/bin or where ever..
I had to use the following:
GOLANG=$(pwd) go get -u github.com/meshbird/meshbird
As it would complain about the missing GOLANG environment variable. (freshly installed golang via apt-get)
yeah i know it's not a solution but enough to get me able to compile meshbird.