Closed vincenzopalazzo closed 4 months ago
Thanks @vincenzopalazzo Is it on the main sdk branch? We recently update the gl-client dependency.
@roeierez I did just a git clone, so I assume it was main
I just ran the cli on master and it works for me.
From the compiler log:
Compiling gl-client v0.2.0 (https://github.com/Blockstream/greenlight.git?rev=e38a37613da7558c853f24be700c193f194a6bc9#e38a3761)
I see we also use the same revision. I will try to clone a new repo.
Also cloned a new repo and seems to work. Could it be that the cln-grpc
dependency is not updated in your run?
What is the version of this dependency in cargo.lock ?
MH you are right now I clone again inside a tmp dir and it is working
Probably I did not clone the repo but I did a git pull
, testing right now.
Ok on a fresh clone I have no error, but on already cloned repo after git pull
I get the same error
but I am on the same commit 5d022f719308531da0ebb55098c3cee031b5c7af
Strange
@roeierez I reproduce the same error in the fresh clone by running cargo install --path .
Are you able to reproduce?
I also get this error now when running cargo install --path .
But I don't get this error if running cargo build
or cargo run
We've seen this in the past:
The root cause is described in detail here.
It essentially happens because most libraries use loose semantic versioning ranges for their dependencies. When they release, the release is tested with a specific set of dependency versions. However, soon after this release, a dependency could release a newer version that fits in the original library's Cargo.toml
semantic versioning range. This means new apps trying to integrate this library will use the newest dependency version (e.g. dependency of library), which may break the library itself because it was not tested with that version.
The fix has been to find these problematic transitive dependencies and pin them to a valid working version.
(The reason it behaves differently when you git pull
vs when you setup a fresh project is, on git pull
, cargo will try to use the existing Cargo.lock
, which may have an older working transitive dependency version. On a fresh new setup, cargo always tries to fetch the newest transitive dependency.)
IMO the goal now is to find out which dependency changed since the latest working release and now.
Looking into it, will post an update when I find something.
(P.S. @roeierez this is the reason for the proposed PR https://github.com/breez/breez-sdk/pull/971)
@vincenzopalazzo this is being addressed in #1014 .
Until that's reviewed and merged, can you please try to add
# Pin problematic transitive dependencies
cln-grpc = "=0.1.8"
to your Cargo.toml
then try again?
@vincenzopalazzo the issue is fixed now. Please do cargo clean
, then recompiling the project should work.
Trying to debug my green wallet with lightning and I would like to use the sdk-cli. However, I get the following compilation error
Probably is it a greenlight issue but idk how it is import inside the SDK-cli, so I will start reporting the problem from here