Running into an issue when building to v4.2–issue with bellman dependency
RUSTC=“/zcash/depends/x86_64-pc-linux-gnu/share/…/native/bin/rustc” TERM=dumb /zcash/depends/x86_64-pc-linux-gnu/share/…/native/bin/cargo build --lib --release --target x86_64-unknown-linux-gnu --locked --offline --manifest-path …/Cargo.toml
error: failed to select a version for the requirement bellman = "= 0.8.1"
candidate versions found which didn’t match: 0.7.0
location searched: directory source /zcash/depends/x86_64-unknown-linux-gnu/share/../vendored-sources (which is replacing registry https://github.com/rust-lang/crates.io-index)
required by package librustzcash v0.2.0 (/zcash)
perhaps a crate was updated and forgotten to be re-vendored?
As a reminder, you’re using offline mode (–offline) which can sometimes cause surprising resolution failures, if this error is too confusing you may wish to retry without the offline flag.
Makefile:8018: recipe for target ‘cargo-build’ failed
make[2]: *** [cargo-build] Error 101
make[2]: *** Waiting for unfinished jobs…
make[2]: Leaving directory ‘/zcash/src’
Makefile:7504: recipe for target ‘all-recursive’ failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory ‘/zcash/src’
Makefile:634: recipe for target ‘all-recursive’ failed
make: *** [all-recursive] Error 1
Consequently, my previous version is deprecated and I cannot start zcash. I tried to build to an old branch as well as beta—still getting the same error. Any help is greatly appreciated.
We don’t recommend running zcashd as root. In general running programs as root on Linux is fraught with problems: it is not the case that processes running as root can always do a superset of what processes running as non-root can do. (In fact some things just plain don’t work when running as root, and in particular it is still possible for root to get permission errors.)
I suggest that you move .zcash and .zcash-params into another user’s home directory, recursively chown them to that user (and check the file permissions), and run zcashd as that user
(People often assume that the only problem with running as root is that it’s a security hazard. No! It is a security hazard, but it will also cause you no end of hard-to-debug problems because a lot of Linux components behave in subtly different ways when running as root, so you’re running in a configuration that application developers have never tested and don’t want to test.)
The Discord reply above was in response to someone else having a similar issue, so despite our recommendation to not run zcashd as root, let’s see if we can at least figure out what change caused this.
The most obvious candidate is that we moved from Boost 1.74 to 1.75. @jogrgo please apply this patch (patch -p1 <this.patch) and then recompile and test to see if it fixes your problem:
Applying the patch and recompiling has allowed me to start zcashd without error. Thank you.
I’ll consider running with a non-elevated user. I’m running as a docker container, so I never really considered the security an issue—but the debug info makes sense.
Great, thanks! I can’t see anything obvious in the Boost 1.75 release notes that might be causing this, other than perhaps the move to using the statx system call…
What Linux distribution are you using? The report of it being fixed was on Ubuntu 18.10, and it could be that they have patches that are not in your distribution. Alternatively it could be significant that you’re using the -ce version of Docker.