Project

General

Profile

Actions

Bug #19984

open

`make test-bundler-parallel` fails with ` --enable-shared`

Added by vo.x (Vit Ondruch) 4 months ago. Updated 4 months ago.

Status:
Open
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-11-01 master a1e24ab484) [x86_64-linux]
[ruby-core:115226]

Description

+ ./configure --enable-shared
checking for ruby... false

... snip ...

config.status: creating Makefile
---
Configuration summary for ruby version 3.3.0

   * Installation prefix: /usr/local
   * exec prefix:         ${prefix}
   * arch:                x86_64-linux
   * site arch:           ${arch}
   * RUBY_BASE_NAME:      ruby
   * enable shared:       yes
   * ruby lib prefix:     ${libdir}/${RUBY_BASE_NAME}
   * site libraries path: ${rubylibprefix}/${sitearch}
   * vendor path:         ${rubylibprefix}/vendor_ruby
   * target OS:           linux
   * compiler:            gcc
   * with thread:         pthread
   * with coroutine:      amd64
   * enable shared libs:  yes
   * dynamic library ext: so
   * CFLAGS:              ${optflags} ${debugflags} ${warnflags}
   * LDFLAGS:             -L. -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now \
                          -specs=/usr/lib/rpm/redhat/redhat-hardened-ld \
                          -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  \
                          -Wl,--build-id=sha1 -fstack-protector-strong \
                          -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed
   * DLDFLAGS:            -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now \
                          -specs=/usr/lib/rpm/redhat/redhat-hardened-ld \
                          -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  \
                          -Wl,--build-id=sha1   \
                          -Wl,--compress-debug-sections=zlib
   * optflags:            -O3 -fno-fast-math
   * debugflags:          -ggdb3
   * warnflags:           -Wall -Wextra -Wdeprecated-declarations \
                          -Wdiv-by-zero -Wduplicated-cond \
                          -Wimplicit-function-declaration -Wimplicit-int \
                          -Wpointer-arith -Wwrite-strings \
                          -Wold-style-definition -Wimplicit-fallthrough=0 \
                          -Wmissing-noreturn -Wno-cast-function-type \
                          -Wno-constant-logical-operand -Wno-long-long \
                          -Wno-missing-field-initializers \
                          -Wno-overlength-strings \
                          -Wno-packed-bitfield-compat \
                          -Wno-parentheses-equality -Wno-self-assign \
                          -Wno-tautological-compare -Wno-unused-parameter \
                          -Wno-unused-value -Wsuggest-attribute=format \
                          -Wsuggest-attribute=noreturn -Wunused-variable \
                          -Wmisleading-indentation -Wundef
   * strip command:       strip -S -x
   * install doc:         rdoc
   * YJIT support:        yes
   * RJIT support:        yes
   * man page type:       doc

---


$ make -O -j8 V=1 VERBOSE=1 'COPY=cp -p'
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64
	XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0  
	CPPFLAGS =   
	DLDFLAGS = -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.3.3 -fstack-protector-strong  -m64
	SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = -j8 -Otarget --jobserver-auth=fifo:/tmp/GMfifo10180 --sync-mutex=fnm:/tmp/GmCLOiGB
	RUSTC = rustc
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/yjit/target/release/' ./yjit/src/lib.rs
gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

gcc -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0      -o dmyext.o -c dmyext.c

... snip ...

$ make test-bundler-parallel
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1   -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -m64
	XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/x86_64-linux -I./include -I. -I./prism -I./enc/unicode/15.0.0  
	CPPFLAGS =   
	DLDFLAGS = -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -Wl,--compress-debug-sections=zlib -Wl,-soname,libruby.so.3.3 -fstack-protector-strong  -m64
	SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
	RUSTC = rustc
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/yjit/target/release/' ./yjit/src/lib.rs
gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

generating enc.mk
making srcs under enc
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Nothing to be done for 'srcs'.
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
generating transdb.h
transdb.h unchanged
generating makefiles ext/configure-ext.mk
ext/configure-ext.mk updated
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
generating makefile exts.mk
exts.mk unchanged
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/bigdecimal'
installing default bigdecimal libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/bigdecimal'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/coverage'
installing default coverage libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/coverage'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/date'
installing default date_core libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/date'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest'
installing digest libraries
installing default digest libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest/sha2'
installing default sha2 libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/digest/sha2'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/fiddle'
installing default fiddle libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/fiddle'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/io/console'
installing default console libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/io/console'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/json'
installing default libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/json'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/monitor'
installing default monitor libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/monitor'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/nkf'
installing default nkf libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/nkf'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/objspace'
installing default objspace libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/objspace'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/openssl'
installing default openssl libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/openssl'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pathname'
installing default pathname libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pathname'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/psych'
installing default psych libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/psych'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pty'
installing default pty libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/pty'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/ripper'
installing default ripper libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/ripper'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/rubyvm'
installing default libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/rubyvm'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/socket'
installing default socket libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/socket'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/syslog'
installing default syslog libraries
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ext/syslog'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/debug-1.8.0/ext/debug'
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/debug-1.8.0/ext/debug'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/racc-1.7.1/ext/racc/cparse'
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/racc-1.7.1/ext/racc/cparse'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/rbs-3.2.2/ext/rbs_extension'
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/.bundle/gems/rbs-3.2.2/ext/rbs_extension'
make[2]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[2]: 'ruby' is up to date.
make[2]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Nothing to be done for 'note'.
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
making enc
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Nothing to be done for 'enc'.
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
making trans
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Nothing to be done for './enc/trans'.
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
making encs
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
make[1]: Nothing to be done for 'encs'.
make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-a1e24ab484'
generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -C . -Ilib \
	-e 'ENV["GEM_HOME"] = File.expand_path(".bundle")' \
	-e 'ENV["BUNDLE_APP_CONFIG"] = File.expand_path(".bundle")' \
	-e 'ENV["BUNDLE_PATH__SYSTEM"] = "true"' \
	-e 'ENV["BUNDLE_WITHOUT"] = "lint doc"' \
	-e 'load "spec/bundler/support/bundle.rb"' -- install --quiet --gemfile=tool/bundler/dev_gems.rb
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems \
	-r./x86_64-linux-fake \
	-e "ARGV[-1] = File.expand_path(ARGV[-1])" \
	-e "exec(*ARGV)" -- \
	./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -I./spec/bundler \
	-e "ENV['PARALLEL_TESTS_EXECUTABLE'] = ARGV.shift" \
	-e "load ARGV.shift" \
	"./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -C . -Ispec/bundler:spec/lib .bundle/bin/rspec" \
	./.bundle/bin/parallel_rspec \
	-o "--require spec_helper --require formatter_overrides" \
	--runtime-log ./tmp/parallel_runtime_rspec.log  ./spec/bundler/
8 processes for 169 specs, ~ 21 specs per process

An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.36529 seconds (files took 0.67828 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.4346 seconds (files took 0.62401 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.37847 seconds (files took 0.71128 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.32898 seconds (files took 0.78975 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.41138 seconds (files took 0.77373 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.46772 seconds (files took 0.7346 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.35757 seconds (files took 0.73007 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.24372 seconds (files took 1.05 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

Tests Failed

8 errors, 0 examples, 0 failures

Took 1 seconds
make: *** [uncommon.mk:1626: yes-test-bundler-parallel] Error 1

Updated by jaruga (Jun Aruga) 4 months ago

+ ./configure --enable-shared
checking for ruby... false

Maybe you know what triggered this issue. In Fedora's RPM build, we build Ruby without setting BASERUBY (HAVE_BASERUBY=no) (without the installed ruby). And I suppose that issue comes form this case.

Why don't you explain the context by your words? I think explaining the context saves people's time, especially when people are not familiar with the Fedora's Ruby RPM.

$ make test-bundler-parallel
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false

...

RuntimeError:

 Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
 ----------------------------------------------------------------------
 /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory

I suppose that the ./miniruby (/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/miniruby) should be used instead of the ./ruby in the command make test-bundler-parallel above.

The command log was you executed in Fedora's building system with patch files? Did you try to run the ./configure, make, make test-bundler-parallel without BASERUBY on Fedora rawhide from the upstream Ruby master source without any additional patch files?

If using /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby in the make test-bundler-parallel is an expected behavior, could you share the result of the ldd /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby? And then you can check if the linked the .so file from the libruby.so.3.3 exists or not.

Updated by vo.x (Vit Ondruch) 4 months ago

jaruga (Jun Aruga) wrote in #note-1:

+ ./configure --enable-shared
checking for ruby... false

Maybe you know what triggered this issue.

I can assume it was change in Ruby build system. If I knew more, I'd submitted PR.

In Fedora's RPM build, we build Ruby without setting BASERUBY (HAVE_BASERUBY=no) (without the installed ruby). And I suppose that issue comes form this case.

I don't think so. If the test case required BASERUBY, it would fail with the message executable host ruby is required. use --with-baseruby option., but it fails differently.

Why don't you explain the context by your words?

Because I don't think that BASERUBY is important in this context. The whole release tarball works without BASERUBY (and I believe that majority of people build their own copies of Ruby without BASERUBY) and similarly my assumption is that also make test-bundler-parallel should work without BASERUBY. It even works just fine without BASERUBY if the Ruby is statically linked.

I think explaining the context saves people's time, especially when people are not familiar with the Fedora's Ruby RPM.

This has nothing to do with RPM or Fedora.

I think the bigger issue is that the main Ruby deliverable, which is IMHO the source tarball, is under-tested. More often is tested the Git cloned repository. In this case, the BASERUBY is certainly needed, but again, I don't think that users are generally supposed to build their Ruby from the Git repository.

$ make test-bundler-parallel
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false

...

RuntimeError:

 Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
 ----------------------------------------------------------------------
 /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory

I suppose that the ./miniruby (/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/miniruby) should be used instead of the ./ruby in the command make test-bundler-parallel above.

Yes, that seems plausible.

The command log was you executed in Fedora's building system with patch files?

Without. Not sure what makes you believe that any Fedora patch would influence this?

Did you try to run the ./configure, make, make test-bundler-parallel without BASERUBY on Fedora rawhide

Yes, as the log above demonstrates.

from the upstream Ruby master source

Not sure what precisely you mean by this. If the "master source" is Git cloned repository, then I would need to have BASERUBY around. I have created tarball using make-snapshot and used that for my testing.

If using /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby in the make test-bundler-parallel is an expected behavior, could you share the result of the ldd /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby? And then you can check if the linked the .so file from the libruby.so.3.3 exists or not.

If you want to go in this direction, then of course you can reproduced the issue by shorter command:

$ ./ruby -v
./ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory

And simply workaround it the following way:

$ LD_LIBRARY_PATH=. ./ruby -v
ruby 3.3.0dev (2023-11-01 master a1e24ab484) [x86_64-linux]

Unfortunately, this workaround does not work for the test-bundler-parallel, because there is too much magic going on in the tooling:

$ LD_LIBRARY_PATH=. make test-bundler-parallel

... snip ...

An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.23081 seconds (files took 0.64251 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


8 errors, 0 examples, 0 failures

Took 1 seconds
Tests Failed
make: *** [uncommon.mk:1627: yes-test-bundler-parallel] Error 1

Updated by vo.x (Vit Ondruch) 4 months ago

I suppose that the ./miniruby (/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/miniruby) should be used instead of the ./ruby in the command make test-bundler-parallel above.

Yes, that seems plausible.

Actually, this is incorrect. From the log, it is clear that the test suite is executed via this command:

./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -C . -Ilib \
	-e 'ENV["GEM_HOME"] = File.expand_path(".bundle")' \
	-e 'ENV["BUNDLE_APP_CONFIG"] = File.expand_path(".bundle")' \
	-e 'ENV["BUNDLE_PATH__SYSTEM"] = "true"' \
	-e 'ENV["BUNDLE_WITHOUT"] = "lint doc"' \
	-e 'load "spec/bundler/support/bundle.rb"' -- install --quiet --gemfile=tool/bundler/dev_gems.rb
./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems \
	-r./x86_64-linux-fake \
	-e "ARGV[-1] = File.expand_path(ARGV[-1])" \
	-e "exec(*ARGV)" -- \
	./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -I./spec/bundler \
	-e "ENV['PARALLEL_TESTS_EXECUTABLE'] = ARGV.shift" \
	-e "load ARGV.shift" \
	"./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems -C . -Ispec/bundler:spec/lib .bundle/bin/rspec" \
	./.bundle/bin/parallel_rspec \
	-o "--require spec_helper --require formatter_overrides" \
	--runtime-log ./tmp/parallel_runtime_rspec.log  ./spec/bundler/

Where only miniruby figures. But unfortunately, the LD_LIBRARY_PATH, which is actually know to the system, is not propagated far enough to help the final ruby call to find the dynamic library.

BTW the test-bundler target, which seems to be simpler version of the test-bundler-parallel, fails similarly.

Updated by jaruga (Jun Aruga) 4 months ago

vo.x (Vit Ondruch) wrote in #note-2:

jaruga (Jun Aruga) wrote in #note-1:

+ ./configure --enable-shared
checking for ruby... false

Maybe you know what triggered this issue.

I can assume it was change in Ruby build system. If I knew more, I'd submitted PR.

In Fedora's RPM build, we build Ruby without setting BASERUBY (HAVE_BASERUBY=no) (without the installed ruby). And I suppose that issue comes form this case.

I don't think so. If the test case required BASERUBY, it would fail with the message executable host ruby is required. use --with-baseruby option., but it fails differently.

Okay. I see.

Interestingly the make test-bundler-parallel passes in the latest master branch in Ubuntu on GitHub Actions. I suppose that there is a difference to make the error between GitHub Actions and the environment reported by you.
https://github.com/ruby/ruby/actions/runs/6770205352/job/18398278214#step:8:1
https://github.com/ruby/ruby/blob/f6ba87ca8899cd753306ffbca475b16c367995a3/.github/workflows/ubuntu.yml#L46

Why don't you explain the context by your words?

Because I don't think that BASERUBY is important in this context. The whole release tarball works without BASERUBY (and I believe that majority of people build their own copies of Ruby without BASERUBY) and similarly my assumption is that also make test-bundler-parallel should work without BASERUBY. It even works just fine without BASERUBY if the Ruby is statically linked.

I think explaining the context saves people's time, especially when people are not familiar with the Fedora's Ruby RPM.

This has nothing to do with RPM or Fedora.

I think the bigger issue is that the main Ruby deliverable, which is IMHO the source tarball, is under-tested. More often is tested the Git cloned repository. In this case, the BASERUBY is certainly needed, but again, I don't think that users are generally supposed to build their Ruby from the Git repository.

Reading this sentence, so, for your reporting issue, you configured, built and ran the make test-bundler-parallel for the tarball that you created based on the source at commit a1e24ab484 by yourself, rather than for the git source directly? Right? I think this was a missing context that people wanted to know.

$ make test-bundler-parallel
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false

...

RuntimeError:

 Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
 ----------------------------------------------------------------------
 /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory

I suppose that the ./miniruby (/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/miniruby) should be used instead of the ./ruby in the command make test-bundler-parallel above.

Yes, that seems plausible.

The command log was you executed in Fedora's building system with patch files?

Without. Not sure what makes you believe that any Fedora patch would influence this?

Because I saw in your first comment, you use the directory /builddir/build/BUILD/ that is used to build Ruby RPM in Fedora's building system.

Did you try to run the ./configure, make, make test-bundler-parallel without BASERUBY on Fedora rawhide

Yes, as the log above demonstrates.

from the upstream Ruby master source

Not sure what precisely you mean by this. If the "master source" is Git cloned repository, then I would need to have BASERUBY around. I have created tarball using make-snapshot and used that for my testing.

Yes. the "from the upstream Ruby master source" meant the "Git cloned repository". I couldn't notice you ran the make-snapshot from your first comment.

If using /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby in the make test-bundler-parallel is an expected behavior, could you share the result of the ldd /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby? And then you can check if the linked the .so file from the libruby.so.3.3 exists or not.

If you want to go in this direction, then of course you can reproduced the issue by shorter command:

$ ./ruby -v
./ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory

And simply workaround it the following way:

$ LD_LIBRARY_PATH=. ./ruby -v
ruby 3.3.0dev (2023-11-01 master a1e24ab484) [x86_64-linux]

Unfortunately, this workaround does not work for the test-bundler-parallel, because there is too much magic going on in the tooling:

$ LD_LIBRARY_PATH=. make test-bundler-parallel

... snip ...

An error occurred in a `before(:suite)` hook.
Failure/Error:
          raise <<~ERROR
  
            Invoking `#{cmd}` failed with output:
            ----------------------------------------------------------------------
            #{command_execution.stdboth}
            ----------------------------------------------------------------------
          ERROR

RuntimeError:

  Invoking `/builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby -rrubygems /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output:
  ----------------------------------------------------------------------
  /builddir/build/BUILD/ruby-3.3.0-a1e24ab484/ruby: error while loading shared libraries: libruby.so.3.3: cannot open shared object file: No such file or directory
  ----------------------------------------------------------------------
# ./spec/bundler/support/helpers.rb:202:in `sys_exec'
# ./spec/bundler/support/helpers.rb:165:in `gem_command'
# ./spec/bundler/support/helpers.rb:343:in `with_built_bundler'
# ./spec/bundler/support/helpers.rb:304:in `block (2 levels) in system_gems'
# ./spec/bundler/support/helpers.rb:300:in `each'
# ./spec/bundler/support/helpers.rb:300:in `block in system_gems'
# ./spec/bundler/support/helpers.rb:357:in `block in with_gem_path_as'
# ./spec/bundler/support/helpers.rb:371:in `without_env_side_effects'
# ./spec/bundler/support/helpers.rb:352:in `with_gem_path_as'
# ./spec/bundler/support/helpers.rb:298:in `system_gems'
# ./spec/bundler/spec_helper.rb:92:in `block (2 levels) in <top (required)>'


Finished in 0.23081 seconds (files took 0.64251 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples


8 errors, 0 examples, 0 failures

Took 1 seconds
Tests Failed
make: *** [uncommon.mk:1627: yes-test-bundler-parallel] Error 1

OK.

My suggestion is that if the tarball created by tool/make-snapshot triggers the issue, we can add new testing cases for running tool/make-snapshot somewhere in GitHub Actions such as following file, including the case running tool/make-snapshot then make test-bundler-parallel.
https://github.com/ruby/ruby/blob/master/.github/workflows/ubuntu.yml

Updated by vo.x (Vit Ondruch) 4 months ago

jaruga (Jun Aruga) wrote in #note-4:

vo.x (Vit Ondruch) wrote in #note-2:

jaruga (Jun Aruga) wrote in #note-1:

+ ./configure --enable-shared
checking for ruby... false

Maybe you know what triggered this issue.

I can assume it was change in Ruby build system. If I knew more, I'd submitted PR.

In Fedora's RPM build, we build Ruby without setting BASERUBY (HAVE_BASERUBY=no) (without the installed ruby). And I suppose that issue comes form this case.

I don't think so. If the test case required BASERUBY, it would fail with the message executable host ruby is required. use --with-baseruby option., but it fails differently.

Okay. I see.

Interestingly the make test-bundler-parallel passes in the latest master branch in Ubuntu on GitHub Actions. I suppose that there is a difference to make the error between GitHub Actions and the environment reported by you.
https://github.com/ruby/ruby/actions/runs/6770205352/job/18398278214#step:8:1
https://github.com/ruby/ruby/blob/f6ba87ca8899cd753306ffbca475b16c367995a3/.github/workflows/ubuntu.yml#L46

Yes, there is Ruby installed, so I would not be surprised if BASERUBY is used to run the test suite. But there is not enough details in the log.

so, for your reporting issue, you configured, built and ran the make test-bundler-parallel for the tarball that you created based on the source at commit a1e24ab484 by yourself, rather than for the git source directly? Right? I think this was a missing context that people wanted to know.

Right. Alternatively, official nightly snapshot 1 could be used to prevent me introducing some mistake.

And yes, I could have mentioned the tarball. Sorry for this. But since the tarball is IMHO main Ruby deliverable, it did not occur to me I should mention it (also given other indices such as Ruby not installed, which is required for git repo build).

My suggestion is that if the tarball created by tool/make-snapshot triggers the issue, we can add new testing cases for running tool/make-snapshot somewhere in GitHub Actions such as following file, including the case running tool/make-snapshot then make test-bundler-parallel.
https://github.com/ruby/ruby/blob/master/.github/workflows/ubuntu.yml

Yes that would be useful. Just brief grep through the .github directory have not revealed that the GH Actions would test the tarball, which is not really surprising after all. I think that the tarball used to be tested somewhere on rubyci.org. But not sure if this still is the case.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0