meshbird / meshbird

Distributed private networking

Home Page:https://meshbird.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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:

  1. run ($ == command line)
    $go get -u github.com/meshbird/meshbird

  2. $ cd src/github.com/anacrolix

  3. $ mv utp utp.old

  4. $ git clone https://github.com/syncthing/utp.git
    (pulls down the older ver of utp)

  5. $ cd ../../..

  6. $ 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.