rusterlium / rustler

Safe Rust bridge for creating Erlang NIF functions
https://docs.rs/crate/rustler
Apache License 2.0
4.24k stars 222 forks source link

Unsupported Erlang version error with OTP 26 and features = nif_version_2_17 in Cargo.toml #597

Closed stevensonmt closed 4 months ago

stevensonmt commented 4 months ago

I'm unable to build due to the error message above. Full output from RUST_BACKTRACE=full cargo build here:

error: failed to run custom build command for erlang_nif-sys v0.6.4 note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.

Caused by: process didn't exit successfully: /home/matt/dev_projects/weather_ex/native/zbus_ex/target/debug/build/erlang_nif-sys-c36a67b8be714dee/build-script-build (exit status: 101) --- stdout Unsupported Erlang version.

Is the erlang_nif-sys version up to date in the Cargo.toml? Does 'cargo update' fix it? If not please report at https://github.com/goertzenator/erlang_nif-sys.

--- stderr thread 'main' panicked at /home/matt/.cargo/registry/src/index.crates.io-6f17d22bba15001f/erlang_nif-sys-0.6.4/build.rs:28:22: gen_api.erl encountered an error. stack backtrace: 0: 0x5605f3dc5306 - std::backtrace_rs::backtrace::libunwind::trace::hbee8a7973eeb6c93 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5 1: 0x5605f3dc5306 - std::backtrace_rs::backtrace::trace_unsynchronized::hc8ac75eea3aa6899 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x5605f3dc5306 - std::sys_common::backtrace::_print_fmt::hc7f3e3b5298b1083 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:68:5 3: 0x5605f3dc5306 - ::fmt::hbb235daedd7c6190 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:44:22 4: 0x5605f3de7320 - core::fmt::rt::Argument::fmt::h76c38a80d925a410 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/rt.rs:142:9 5: 0x5605f3de7320 - core::fmt::write::h3ed6aeaa977c8e45 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/fmt/mod.rs:1120:17 6: 0x5605f3dc364f - std::io::Write::write_fmt::h78b18af5775fedb5 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/io/mod.rs:1810:15 7: 0x5605f3dc50e4 - std::sys_common::backtrace::_print::h5d645a07e0fcfdbb at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:47:5 8: 0x5605f3dc50e4 - std::sys_common::backtrace::print::h85035a511aafe7a8 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/sys_common/backtrace.rs:34:9 9: 0x5605f3dc6647 - std::panicking::default_hook::{{closure}}::hcce8cea212785a25 10: 0x5605f3dc63a9 - std::panicking::default_hook::hf5fcb0f213fe709a at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:292:9 11: 0x5605f3dc6ad8 - std::panicking::rust_panic_with_hook::h095fccf1dc9379ee at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:779:13 12: 0x5605f3da47fe - std::panicking::begin_panic::{{closure}}::ha7c502f7621f3d1f 13: 0x5605f3da4436 - std::sys_common::backtrace::rust_end_short_backtrace::h6076b08a02668758 14: 0x5605f3da4787 - std::panicking::begin_panic::h876cb5c7292642e4 15: 0x5605f3da6e04 - build_script_build::main::h6682e55a67741795 16: 0x5605f3da4a83 - core::ops::function::FnOnce::call_once::ha89d4f74d3b80935 17: 0x5605f3da4446 - std::sys_common::backtrace::rust_begin_short_backtrace::hc71f805cbaaea1db 18: 0x5605f3da4499 - std::rt::lang_start::{{closure}}::h5007d6499e0c8cc8 19: 0x5605f3dc0a51 - core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once::h37600b1e5eea4ecd at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/core/src/ops/function.rs:284:13 20: 0x5605f3dc0a51 - std::panicking::try::do_call::hb4bda49fa13a0c2b at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40 21: 0x5605f3dc0a51 - std::panicking::try::h8bbf75149211aaaa at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19 22: 0x5605f3dc0a51 - std::panic::catch_unwind::h8c78ec68ebea34cb at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14 23: 0x5605f3dc0a51 - std::rt::lang_start_internal::{{closure}}::hffdf44a19fd9e220 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:48 24: 0x5605f3dc0a51 - std::panicking::try::do_call::hcb3194972c74716d at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:552:40 25: 0x5605f3dc0a51 - std::panicking::try::hcdc6892c5f0dba4c at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panicking.rs:516:19 26: 0x5605f3dc0a51 - std::panic::catch_unwind::h4910beb4573f4776 at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/panic.rs:142:14 27: 0x5605f3dc0a51 - std::rt::lang_start_internal::h6939038e2873596b at /rustc/07dca489ac2d933c78d3c5158e3f43beefeb02ce/library/std/src/rt.rs:148:20 28: 0x5605f3da4477 - std::rt::lang_start::hfa1c231d711eb8b0 29: 0x5605f3da6ee5 - main 30: 0x7f24eba27cd0 - 31: 0x7f24eba27d8a - __libc_start_main 32: 0x5605f3da1625 - _start 33: 0x0 -

rustc v 1.76.0. erlang vs 26.2.1-1.

stevensonmt commented 4 months ago

My apologies. The issue was actually that I was also trying to use serde_rustler, which has rustler version 0.21 as a dependency and was causing the issue.

evnu commented 4 months ago

Note that @filmor is also working on integrating serde_rustler with this repo in https://github.com/rusterlium/rustler/pull/586 :)

stevensonmt commented 4 months ago

FWIW I did a very dirty job of search and replace on my fork of serde-rustler to get it compiling with rustler 0.31. I haven't really tested it yet to see what hidden screwups I've introduced.