-
Notifications
You must be signed in to change notification settings - Fork 2.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
Update Open Telemetry version #6930
Comments
I looked more carefully into the go mod logs:
It seems like the problem is inside etcd, not lnd, because open telemetry is only an indirect dependency of lnd. So, I guess there's little lnd can do about that, unless maybe making utility packages like lnwire and zpay32 not depend on etcd transitively by default. The unfortunate thing in this particular case is that it's a testing package that depends on etcd in this case: |
Thanks for the report. I think this can be solved by upgrading the The dependency from |
For now, I solved this by using the |
I'm hitting this problem too just in trying to import lnwire so I can use the MilliSatoshi type as part of an interface to
@guggero you may recall my previous attempt to close the issue relating to removing btcd's dependencies from the generated RPC... I can't find a way to work around this issue and It would be really nice if it was possible to just drop For now it looks like I just need to copy and paste, since most likely all the things involved really don't seem like they will change much. I can understand how things get like this though, don't get me wrong. Go modules are pretty stable but sometimes still really confusing and opaque. |
@l0k18 what exact version of There is an attempt to upgrade etcd to a more recent version which should solve the original issue, but that seems to have its own challenges. |
I was using the latest tagged version. Perhaps there is a recommended tag to use at the moment? |
IIRC we fixed some But I still wonder where the |
The error is very clear, and the imported version at the time that error printed was v0.15.5-beta. But the source could be the go modules system, and probably several levels deep related to btcutil and its forks and refactorings. There is an inordinate number of forks of that and it is plain that some mess may have got stuck in the Go mod proxies. My money is on a go modules bug. |
I found a tag that works,
So there is something amiss with the 15 branches and the etcd and btcutil. |
This is the answer to your question I think:
I think it has to do with go versions also. |
https://pkg.go.dev/github.com/lightningnetwork/lnd godoc certainly doesn't seem to be seeing this entire repository since basically it was first uploaded october 2016!
Exactly the same appears with go mod also. edit: It really looks like |
It looks like you have a weird version in one of your |
I'm going to have a go at fixing this problem on a fork so that |
I don't think there is a "fix" other than releasing another version without the |
My only solution is to fork and add my own tag so Go modules doesn't question it. I think you should read the documentation on Semver and Go Modules and reevaluate your tag naming scheme. |
Fixed by #7252. |
Background
We use some pieces of LND in our own code, importing it as a library. Particularly zpay32 package.
By only importing this one package, we're bringing all of the LND's dependencies, including etcd, which is quite unfortunate, but wouldn't be a problem if not for one thing: the opentelemetry version used by LND is very old, and some other packages that we use require a newer version which is not compatible.
OpenTelemetry now have released v1 of their Go packages, and it's incompatible with v0, but since it has the same import path (because it's not v2), we can't import both of them.
Steps to reproduce
Expected behaviour
Everything should work.
Actual behaviour
Go tool complains because because it can't use open telemetry v1.10.0 while LND is using v0.32.0.
The text was updated successfully, but these errors were encountered: