-
Notifications
You must be signed in to change notification settings - Fork 70
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
Cargo.toml
should document MSRV
#3253
Comments
The MSRV is of the nimiq-client is 1.82.0. 1.82.0 introduces unsafe extern blocks (RFC3484) which are used by libmdbx 0.5.3. |
Thank you, @Eligioo. I suggest adding |
On second thought, it would make more sense to add it to mdbx-sys instead. |
@Eligioo Ok, hmm, I think the flaw lies in bindgen 0.71.0. In Rust 2021, using C FFI extern blocks without unsafe does not fail the build. The Rust maintainers seem to encourage early adoption in Rust 2021 via code warnings.
Therefore, bindgen introduced a change that tries to guess whether the compiler supports. If it fails detection, then it seems to assumes unsafe extern is supported (rust-lang/rust-bindgen#3052 (comment)). IMHO the root cause is bindgen introducing breaking changes due to broken compiler feature detection in a minor release. I don't think the MSRV needs to be quite as high. If we can lower it (by fixing bindgen's unsafe extern detection), this allows people to build Nimiq with the Rust toolchain from the operating system's package manager. |
|
Cargo.toml
should document MSRV
Which Linux distro do you use? |
@hrxi Rocky Linux 9.5 (which is like RHEL 9) |
Possibly a MSRV issue
I tried to compile with cargo-1.79.0-2.el9.x86_64
build.log
The text was updated successfully, but these errors were encountered: