[DRE-maint] Bug#1097821: ruby-rbtrace: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:51:29 GMT 2025


Package: src:ruby-rbtrace
Version: 0.5.1-1.1
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-15

[This bug is NOT targeted to the upcoming trixie release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-15/g++-15, but succeeds to build with gcc-14/g++-14. The
severity of this report will be raised before the forky release.

The full build log can be found at:
http://qa-logs.debian.net/2025/02/16/amd64exp/ruby-rbtrace_0.5.1-1.1_unstable_gccexp.log.gz
The last lines of the build log are at the end of this report.

To build with GCC 15, either set CC=gcc-15 CXX=g++-15 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

GCC 15 now defaults to the C23/C++23 standards, exposing many FTBFS.
Other Common build failures are new warnings resulting in build failures
with -Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-15/porting_to.html

[...]
current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
["/usr/bin/ruby3.3", "-I/usr/lib/ruby/vendor_ruby", "extconf.rb"]
  -- tar zxvfo msgpack-1.1.0.tar.gz
  -- env CFLAGS="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" LDFLAGS="-Wl,-z,relro" CC=nil
  -- ./configure --disable-dependency-tracking --disable-shared --with-pic --prefix=/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext/dst/ --host=loongarch64-unknown-linux-gnu --build=loongarch64-unknown-linux-gnu --libdir=/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext/dst/lib
  -- make install
checking for -lmsgpackc_ext... yes
checking for msgpack.h... yes
checking for rb_during_gc() in ruby.h... yes
checking for rb_gc_add_event_hook() in ruby.h,node.h... no
checking for rb_postponed_job_register_one() in ruby.h... yes
creating Makefile
current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=.", "DESTDIR=", "sitearchdir=./.gem.20250216-70-4u631t", "sitelibdir=./.gem.20250216-70-4u631t", "clean"]
make[1]: Entering directory '/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext'
rm -f 
rm -fr rbtrace.so false rbtrace.o *.bak mkmf.log .*.time
make[1]: Leaving directory '/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext'
current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=.", "DESTDIR=", "sitearchdir=./.gem.20250216-70-4u631t", "sitelibdir=./.gem.20250216-70-4u631t"]
ERROR:  Error installing /tmp/d20250216-63-vjy5yb/rbtrace-0.5.1.gem:
	ERROR: Failed to build gem native extension.

    current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
/usr/bin/ruby3.3 -I/usr/lib/ruby/vendor_ruby extconf.rb
current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-rbtrace-0.5.1\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-rbtrace-0.5.1\=. DESTDIR\= sitearchdir\=./.gem.20250216-70-4u631t sitelibdir\=./.gem.20250216-70-4u631t clean
current directory: /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-rbtrace-0.5.1\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-rbtrace-0.5.1\=. DESTDIR\= sitearchdir\=./.gem.20250216-70-4u631t sitelibdir\=./.gem.20250216-70-4u631t
Building has failed. See above output for more information on the failure.
make failed, exit code 2

Gem files will remain installed in /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1 for inspection.
Results logged to /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/extensions/x86_64-linux-gnu/3.3.0/rbtrace-0.5.1/gem_make.out
make[1]: Entering directory '/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext'
gcc -fdebug-prefix-map=/build/reproducible-path/ruby-rbtrace-0.5.1=. -I. -I/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext/dst/include -I/usr/include/x86_64-linux-gnu/ruby-3.3.0 -I/usr/include/ruby-3.3.0/ruby/backward -I/usr/include/ruby-3.3.0 -I. -DHAVE_MSGPACK_H -DHAVE_RB_DURING_GC -DHAVE_RB_POSTPONED_JOB_REGISTER_ONE -Wdate-time -D_FORTIFY_SOURCE=2   -fPIC -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -Wall   -o rbtrace.o -c rbtrace.c
rbtrace.c: In function ‘sigurg’:
rbtrace.c:1100:3: warning: ‘rb_postponed_job_register_one’ is deprecated: use rb_postponed_job_preregister and rb_postponed_job_trigger [-Wdeprecated-declarations]
 1100 |   rb_postponed_job_register_one(0, rbtrace__receive, 0);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from rbtrace.c:25:
/usr/include/ruby-3.3.0/ruby/debug.h:770:5: note: declared here
  770 | int rb_postponed_job_register_one(unsigned int flags, rb_postponed_job_func_t func, void *data);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rbtrace.c: At top level:
rbtrace.c:1138:9: error: initialization of ‘void (*)(void *)’ from incompatible pointer type ‘void (*)(void)’ [-Wincompatible-pointer-types]
 1138 |         rbtrace_gc_mark,
      |         ^~~~~~~~~~~~~~~
rbtrace.c:1138:9: note: (near initialization for ‘rbtrace_type.function.dmark’)
rbtrace.c:1083:1: note: ‘rbtrace_gc_mark’ declared here
 1083 | rbtrace_gc_mark()
      | ^~~~~~~~~~~~~~~
make[1]: *** [Makefile:248: rbtrace.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/rbtrace-0.5.1/ext'
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.3 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-rbtrace/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 /tmp/d20250216-63-vjy5yb/rbtrace-0.5.1.gem (Gem2Deb::CommandFailed)
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:215:in `block in run_gem'
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:87:in `maybe_crossbuild'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:214:in `run_gem'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:123:in `block in install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:69:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:69:in `install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:28:in `build'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:54:in `block in install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:52:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:52:in `install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/dh_ruby.rb:163:in `install'
	from /usr/bin/dh_ruby:89:in `<main>'
dh_auto_install: error: dh_ruby --install /build/reproducible-path/ruby-rbtrace-0.5.1/debian/ruby-rbtrace returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-ruby-extras-maintainers mailing list