Project

General

Profile

Actions

Bug #20961

open

MMTk build on macOS missing librubygc.mmtk.bundle

Added by shan (Shannon Skipper) about 24 hours ago. Updated about 20 hours ago.

Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.0dev (2024-12-18 master 9715131c32) +YJIT +MN +PRISM [arm64-darwin24.2.0]
[ruby-core:120283]

Description

Hi! I'm excited about the new modular GC feature. I just wanted to report that when I build Ruby 3.4.0-rc1 with MMTk on latest macOS 15.2 I seem to be encountering a linking issue. Whether I cargo build --release or ruby extconf.rb && make a target/release/libmmtk_ruby.dylib is created. A make modular-gc MODULAR_GC=mmtk then seems to expect a target/release/librubygc.mmtk.bundle, which doesn't exist. I briefly had it working but now can't reproduce the working order.

Reproduction steps:

brew install gmp jemalloc libffi libyaml openssl@3 readline rust zlib
curl https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-rc1.tar.xz | tar -x
cd ruby-3.4.0-rc1
./configure \
    --prefix="$HOME/.rubies/ruby-3.4.0-rc1" \
    --with-libyaml-dir="$(brew --prefix libyaml)" \
    --with-openssl-dir="$(brew --prefix openssl@3)" \
    --with-readline-dir="$(brew --prefix readline)" \
    --with-zlib-dir="$(brew --prefix zlib)" \
    --with-opt-dir="$(brew --prefix gmp):$(brew --prefix jemalloc)" \
    --with-jemalloc \
    --with-modular-gc="gc/mmtk/target/release"
cargo build --release --manifest-path=gc/mmtk/Cargo.toml
make -j miniruby modular-gc MODULAR_GC=mmtk

I keep getting errors similar to:

ruby_modular_gc_init: Shared library /Users/havenwood/src/ruby-3.4.0-rc1/gc/mmtk/target/release/librubygc.mmtk.bundle cannot be opened: dlopen(/Users/havenwood/src/ruby-3.4.0-rc1/gc/mmtk/target/release/librubygc.mmtk.bundle, 0x0009): tried: '/Users/havenwood/src/ruby-3.4.0-rc1/gc/mmtk/target/release/librubygc.mmtk.bundle' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/havenwood/src/ruby-3.4.0-rc1/gc/mmtk/target/release/librubygc.mmtk.bundle' (no such file), '/Users/havenwood/src/ruby-3.4.0-rc1/gc/mmtk/target/release/librubygc.mmtk.bundle' (no such file)

The latest nightly Ruby I tried produced the same missing .bundle error. I'm very much looking forward to 3.4.0 and the introduction of the new pluggable GC feature! Thank you!

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like1