Open
Description
Using the latest commit and a jvm-ce
build
truffleruby 24.1.0-dev-00307c24, like ruby 3.2.2, GraalVM CE JVM [x86_64-linux]
with the latest gem version (1.0.4)
installation fails due to several items missing from RbConfig::CONFIG
:
error: failed to run custom build command for `rb-sys v0.9.85`
Caused by:
process didn't exit successfully: `/home/spin/.gem/truffleruby/3.2.2/gems/commonmarker-1.0.4/ext/commonmarker/target/release/build/rb-sys-4475e29d236d2359/build-script-main` (exit status: 101)
--- stdout
cargo:rerun-if-env-changed=RUBY
cargo:rerun-if-env-changed=RBCONFIG_CROSS_COMPILING
cargo:rerun-if-env-changed=RBCONFIG_RUBY_PROGRAM_VERSION
cargo:rerun-if-env-changed=RBCONFIG_MAJOR
--- stderr
thread 'main' panicked at /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-build-0.9.85/src/rb_config.rs:206:32:
Key not found: MAJOR
If I add these values (and use something like export TRUFFLERUBYOPT=-r$PWD/config
) I get past those issues.
RbConfig::CONFIG["MAJOR"] = "3"
RbConfig::CONFIG["MINOR"] = "2"
RbConfig::CONFIG["TEENY"] = "1"
RbConfig::CONFIG["PATCHLEVEL"] = "1"
RbConfig::CONFIG["archincludedir"] = "/tmp/archincludedir"
Then I get other errors:
error[E0432]: unresolved import `crate::rb_gc_adjust_memory_usage`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/tracking_allocator.rs:3:13
|
3 | use crate::{rb_gc_adjust_memory_usage, utils::is_ruby_vm_started};
| ^^^^^^^^^^^^^^^^^^^^^^^^^ no `rb_gc_adjust_memory_usage` in the root
error[E0412]: cannot find type `RData` in this scope
-->
/home/spin/.gem/truffleruby/3.2.2/gems/commonmarker-1.0.4/ext/commonmarker/target/release/build/rb-sys-f73ca150f0763414/out/bindings-0.9.85-x86_64-linux-3.2.1.rs:3478:51
|
3478 | pub fn rb_tr_rdata(object: VALUE) -> *mut RData;
| ^^^^^ not found in this scope
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:19:35
|
19 | let flags = rstring.basic.flags;
| ^^^^^ unknown field
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:34:35
|
34 | let flags = rstring.basic.flags;
| ^^^^^ unknown field
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:52:34
|
52 | let flags = rarray.basic.flags;
| ^^^^^ unknown field
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:56:38
|
56 | let mut f = rarray.basic.flags;
| ^^^^^ unknown field
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:70:34
|
70 | let flags = rarray.basic.flags;
| ^^^^^ unknown field
error[E0609]: no field `flags` on type `uncategorized::RBasic`
--> /home/spin/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rb-sys-0.9.85/src/stable_api/ruby_3_2.rs:94:35
|
94 | let ret: u32 = ((*rbasic).flags & crate::ruby_value_type::RUBY_T_MASK as VALUE) as _;
| ^^^^^ unknown field
Some errors have detailed explanations: E0412, E0432, E0609.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `rb-sys` (lib) due to 8 previous errors
warning: build failed, waiting for other jobs to finish...
make: *** [Makefile:377: target/release/libcommonmarker.so] Error 101
make failed, exit code 2