whyrusleeping / gx-go

gx subtool for golang
MIT License
80 stars 28 forks source link

vgo run fails #41

Open adam-hanna opened 6 years ago

adam-hanna commented 6 years ago

Trying to run the project with vgo (which will be worked into g1.11) with vgo run main.go and am getting the following errors:

go: import "github.com/c3systems/c3-go/core/p2p/protobuff" ->
        import "github.com/c3systems/c3-go/core/miner" ->
        import "github.com/c3systems/c3-go/core/p2p" ->
        import "github.com/ipfs/go-ipfs/blockservice" ->
        import "gx/ipfs/QmTRCUvZLiir12Qr6MV3HKfKMHX8Nf1Vddn6t2g5nsQSb9/go-block-format": cannot find module providing package gx/ipfs/QmTRCUvZLiir12Qr6MV3
HKfKMHX8Nf1Vddn6t2g5nsQSb9/go-block-format

Probably related to #2

lanzafame commented 6 years ago

@adam-hanna technically, this isn't a gx issue. I am not sure of the reason but go-ipfs commited the gx import paths and that is what is incompatible with vgo/go get. A counter example is that vgo works perfectly with go-libp2p even though it also makes use of gx.

adam-hanna commented 6 years ago

Hi @lanzafame, thanks for the quick response!

It looks like go-libp2p isn't using gx imports in their source code. However, go-ipfs regularly do.

That last link I gave is where my program is failing when running vgo. Unless I misunderstood your counter example?

lanzafame commented 6 years ago

Yeah, so this issue should get raised with go-ipfs to see what people are willing to do about it.

@whyrusleeping it may be a good idea, if possible, to get go-ipfs ready for go1.11 and remove the gx imports. Thoughts?

dignifiedquire commented 6 years ago

There is another thing that vgo needs though, and that is properly tagged releases. Currently most ipfs & libp2p modules have some release tags but not for all releases, that means vgo picks up the latest tagged release instead of the actual latest release. This would work fine if there were no tags, but having some releases tagged makes for a very inconsistent experience.