agl / pond

Pond
BSD 3-Clause "New" or "Revised" License
911 stars 109 forks source link

Pond doesn't build cleanly after upgrade from Go 1.3 to Go 1.4 #152

Closed burdges closed 9 years ago

burdges commented 9 years ago

I've successfully built and run pond using Go 1.4, but at first I got these error messages :

# github.com/agl/pond/client
missing Go type information for global symbol: code.google.com/p/go.crypto/curve25519.REDMASK51 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/curve25519._121666_213 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/curve25519._2P0 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/curve25519._2P1234 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.ALPHA130 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.ALPHA32 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.ALPHA64 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.ALPHA96 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.DOFFSET0 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.DOFFSET1 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.DOFFSET2 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.DOFFSET3 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.DOFFSET3MINUSTWO128 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.HOFFSET0 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.HOFFSET1 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.HOFFSET2 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.HOFFSET3 size 8
missing Go type information for global symbol: code.google.com/p/go.crypto/poly1305.SCALE size 8

I found this https://github.com/golang/go/issues/9098 that said to "update your go.crypto sources". I couldn't find a cleaner way to do this than rm -rf $GOPATH/src/code.google.com/p/go.crypto and go get and go build, maybe go install would Just Work, not sure.

sycamoreone commented 9 years ago

go get -u should help here (and should be used to update in general). From go help get

The -u flag instructs get to use the network to update the named packages
and their dependencies.  By default, get uses the network to check out
missing packages but does not use it to look for updates to existing packages.

go get -u will also be necessary when, for example, github.com/agl/go-gtk is updated.

burdges commented 9 years ago

I'll close this since the advice by @sycamoreone presumably handles it, but maybe the README should explain when to use go get -u or something.

sycamoreone commented 9 years ago

@burdges Not sure my advice will be sufficient anymore though :). It might be necessary to remove the old sources and packages in some case.

I recently updated another Go program on a computer I don't use much and ran into a similar problem: The crypto and net packages were installed as golang.org/x/* but these were pointing to the old repositories at code.google.com/p/*. It was actually necessary to remove these packages.

I wouldn't re-open the ticket though. It is not a problem in Pond and should only happen to people who installed golang.org/x/crypto between the introduction of the golang.org/x import path and Go's move to Github.