-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cannot use github.com/libp2p/go-libp2p: oas.host.Network().Process undefined (type network.Network has no field or method Process) #1228
Comments
Looks like this is the root cause: libp2p/go-libp2p-core#212 |
Please don’t do this. There’s no guarantee that a random version of any go-libp2p-* module works with a random (or even the most recent) version of go-libp2p. We realize that it’s not ideal that the Go tool chain lets you do these upgrades deep down in the dependency tree, but there’s no way we can prevent this. The only thing we can (and do) guarantee is that the set of modules as released in a go-libp2p release works. |
Can you at least advise the minimum updates to support go 1.17? |
Not really. In fact, that’s an explicit non-goal of go-libp2p. We use versions (according to semver) to signal breaking API changes, so in general, it won’t be possible to “mix and match” versions. Conceptually, it might help to think of go-libp2p as one module, which, for historical reasons, is unfortunately split up into way too many modules, each living in its own repository. We’re actually working towards a repo consolidation, and the transport repos will probably be the first ones that are getting merged into go-libp2p. Regarding Go version compatibility, each release supports the two most recent Go versions (at the time that release is cut).
Is that the only reason you’re hesitant to upgrade? New releases contain a bunch of bug fixes as well as new features, and you’ll be missing out on those if you choose to stay on an old version. |
In short, yes. We are hesitant to update libp2p because updates may result in new regressions. |
I think this issue should be reopened. If anyone else depends on libp2p and tries to update it, they will face the same issue. To reproduce, checkout github.com/prysmaticlabs/prysm and run
I tried this on our develop branch, without attempting to update only what I wanted, and I still have the same failure. Edit: go get without |
That's true for any update of any dependency, isn't it? Needless to say, we'd be very happy to hear about about any issues you might encounter.
Only if they use |
Version Information
In general, being a downstream user of libp2p means that any updates we need that touch libp2p often result in hours of debugging breakages between deprecated repos, deprecated code being cleaned up without a major version bump, and other various headaches. In this scenario, we needed to update
github.com/libp2p/go-libp2p-quic-transport
to support go 1.17 and ended up with a ton of issues.Relevant: #676
The text was updated successfully, but these errors were encountered: