Bug #20004
closedRelease CI is broken with Ruby master
Description
From 3 week ago, Release action of master is broken.
https://github.com/ruby/actions/actions/runs/6599016994/job/17927644579#step:16:44
Invoking `/Users/runner/work/actions/actions/snapshot-master/ruby -rrubygems /Users/runner/work/actions/actions/snapshot-master/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
----------------------------------------------------------------------
dyld[42417]: Library not loaded: '/usr/local/lib/libruby.3.3.dylib'
Referenced from: '/Users/runner/work/actions/actions/snapshot-master/ruby'
Reason: tried: '/usr/local/lib/libruby.3.3.dylib' (no such file), '/usr/lib/libruby.3.3.dylib' (no such file)
----------------------------------------------------------------------
It is related with #19422
Updated by hsbt (Hiroshi SHIBATA) 9 months ago
I try to revert https://github.com/ruby/ruby/commit/9694445051c4192c8f659529133acab253bd0bc3 and run CI.
It passed: https://github.com/ruby/actions/actions/runs/6940978302/job/18881049889
Should we revert https://bugs.ruby-lang.org/issues/19422?
Updated by hsbt (Hiroshi SHIBATA) 9 months ago
- Related to Feature #19422: Make `--enabled-shared` mandatory on macOS added
Updated by hsbt (Hiroshi SHIBATA) 9 months ago
- Status changed from Open to Closed
Applied in changeset git|f100c6477ab0a3c49e3256c4eb8efe312ffd0198.
[Bug #20004] Revert "[Feature #19422] Enable shared by default on macOS"
This reverts commit 9694445051c4192c8f659529133acab253bd0bc3.
This change broke our release CI.
https://github.com/ruby/actions/actions/runs/6599016994/job/17927644579#step:16:44
Invoking /Users/runner/work/actions/actions/snapshot-master/ruby -rrubygems /Users/runner/work/actions/actions/snapshot-master/bin/gem --backtrace build lib/bundler/bundler.gemspec
failed with output:
dyld[42417]: Library not loaded: '/usr/local/lib/libruby.3.3.dylib'
Referenced from: '/Users/runner/work/actions/actions/snapshot-master/ruby'
Reason: tried: '/usr/local/lib/libruby.3.3.dylib' (no such file), '/usr/lib/libruby.3.3.dylib' (no such file)
Updated by katei (Yuta Saito) 9 months ago
The problem here is we are trying to launch ${builddir}/ruby
before installing it. The ${builddir}/ruby
references libruby
shared library by absolute path embedded in the binary, but it's not located at the expected path during build-phase.
IIUC this issue can be solved by adding --enable-load-relative
, but the use of ${builddir}/ruby
in the failing test case test-bundler-parallel
might be the root problem. Note that this problem is not only on macOS but could happen if running the test with --enable-shared
on Linux or others too.
Updated by katei (Yuta Saito) 9 months ago
If the problem will be solved by fixing tests and we will be able to confirm the problem is only for build-phase, re-landing the defaulting change would make sense to me. But if it's more complicated situation, it would be risky to re-land and would be better to postpone to next-next release.