[DRE-maint] Bug#1097816: ruby-hitimes: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:51:17 GMT 2025
Package: src:ruby-hitimes
Version: 1.3.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-hitimes_1.3.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
[...]
/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/lib/hitimes/value_metric.rb
/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/lib/hitimes/version.rb
Building native extensions. This could take a while...
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
["/usr/bin/ruby3.3", "-I/usr/lib/ruby/vendor_ruby", "extconf.rb"]
checking for clock_gettime() in -lrt... yes
creating Makefile
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-hitimes-1.3.1=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-hitimes-1.3.1=.", "DESTDIR=", "sitearchdir=./.gem.20250216-90-rfx8ec", "sitelibdir=./.gem.20250216-90-rfx8ec", "clean"]
make[1]: Entering directory '/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c'
rm -f
rm -fr hitimes.so false hitimes.o hitimes_instant_clock_gettime.o hitimes_instant_osx.o hitimes_instant_windows.o hitimes_interval.o hitimes_stats.o *.bak mkmf.log .*.time
make[1]: Leaving directory '/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c'
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/reproducible-path/ruby-hitimes-1.3.1=.", "CXX=g++ -fdebug-prefix-map=/build/reproducible-path/ruby-hitimes-1.3.1=.", "DESTDIR=", "sitearchdir=./.gem.20250216-90-rfx8ec", "sitelibdir=./.gem.20250216-90-rfx8ec"]
ERROR: Error installing /tmp/d20250216-83-melfiz/hitimes-1.3.1.gem:
ERROR: Failed to build gem native extension.
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
/usr/bin/ruby3.3 -I/usr/lib/ruby/vendor_ruby extconf.rb
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-hitimes-1.3.1\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-hitimes-1.3.1\=. DESTDIR\= sitearchdir\=./.gem.20250216-90-rfx8ec sitelibdir\=./.gem.20250216-90-rfx8ec clean
current directory: /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/reproducible-path/ruby-hitimes-1.3.1\=. CXX\=g++\ -fdebug-prefix-map\=/build/reproducible-path/ruby-hitimes-1.3.1\=. DESTDIR\= sitearchdir\=./.gem.20250216-90-rfx8ec sitelibdir\=./.gem.20250216-90-rfx8ec
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-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1 for inspection.
Results logged to /build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/extensions/x86_64-linux-gnu/3.3.0/hitimes-1.3.1/gem_make.out
make[1]: Entering directory '/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c'
gcc -fdebug-prefix-map=/build/reproducible-path/ruby-hitimes-1.3.1=. -I. -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. -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 -DUSE_INSTANT_CLOCK_GETTIME=1 -o hitimes.o -c hitimes.c
In file included from /usr/include/ruby-3.3.0/ruby/ruby.h:27,
from /usr/include/ruby-3.3.0/ruby.h:38,
from hitimes.c:1:
hitimes.c: In function ‘Init_hitimes’:
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:338:142: error: passing argument 3 of ‘rb_define_module_function_00’ from incompatible pointer type [-Wincompatible-pointer-types]
338 | #define rb_define_module_function(mod, mid, func, arity) RBIMPL_ANYARGS_DISPATCH_rb_define_module_function((arity), (func))((mod), (mid), (func), (arity))
| ^~~~~~
| |
| VALUE (*)(void) {aka long unsigned int (*)(void)}
hitimes.c:33:5: note: in expansion of macro ‘rb_define_module_function’
33 | rb_define_module_function( mH, "raw_instant", hitimes_instant_raw, 0 );
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:274:21: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(void)’ {aka ‘long unsigned int (*)(void)’}
274 | RBIMPL_ANYARGS_DECL(rb_define_module_function, VALUE, const char *)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/ruby-3.3.0/ruby/internal/anyargs.h:255:41: note: in definition of macro ‘RBIMPL_ANYARGS_DECL’
255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _00(__VA_ARGS__, VALUE(*)(VALUE), int); \
| ^~~
hitimes.c:15:7: note: ‘hitimes_instant_raw’ declared here
15 | VALUE hitimes_instant_raw( )
| ^~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:248: hitimes.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/ruby-hitimes-1.3.1/debian/ruby-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/hitimes-1.3.1/ext/hitimes/c'
/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-hitimes/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 /tmp/d20250216-83-melfiz/hitimes-1.3.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-hitimes-1.3.1/debian/ruby-hitimes returned exit code 1
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-ruby-extras-maintainers
mailing list