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) 12 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) 12 months ago
- Related to Feature #19422: Make `--enabled-shared` mandatory on macOS added
Updated by hsbt (Hiroshi SHIBATA) 12 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) 12 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) 12 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.