I tried to explain this but it proved nearly impossible to do so in a manner I could even comprehend myself. Hence, an example:
github.com/ipfs/go-libp2p/p2p/peer/peer.go imports gx/ipfs/.../go-multihash as mh and gx/ipfs/.../go-ipfs-util as u. In block.go line 22 Block expects gx/ipfs/.../go-multihash.Multihash but u.Hash returns github.com/jbenet/go-multihash.Multihash. There are multiple conflicts of this kind out there, of which I list those known to me here:
I tried to explain this but it proved nearly impossible to do so in a manner I could even comprehend myself. Hence, an example:
github.com/ipfs/go-libp2p/p2p/peer/peer.go
importsgx/ipfs/.../go-multihash
asmh
andgx/ipfs/.../go-ipfs-util
asu
. In block.go line 22Block
expectsgx/ipfs/.../go-multihash.Multihash
butu.Hash
returnsgithub.com/jbenet/go-multihash.Multihash
. There are multiple conflicts of this kind out there, of which I list those known to me here:A complete dump of errors when running
go get
inexamples/api/service
, as per my conversation with @whyrusleeping at freenode#ipfs.