[DRE-maint] Bug#1097819: ruby-ncurses: ftbfs with GCC-15

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


Package: src:ruby-ncurses
Version: 1.4.11-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-ncurses_1.4.11-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

[...]
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_thread_fd_select; return !p; }
/* end */

--------------------

have_func: checking for clock_gettime()... -------------------- yes

LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -o conftest -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   -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -g -Wformat -Werror=format-security -Waddress -DHAVE_FORM_DRIVER_W -DHAVE_RB_THREAD_FD_SELECT -DNCURSES_OPAQUE=0 conftest.c  -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed    -lmenu -lformw -lformw -lpanelw -lncursesw  -lruby-3.3 -lmenu -lformw -lformw -lpanelw -lncursesw  -lm -lpthread  -lc"
checked program was:
/* begin */
 1: #include "ruby.h"
 2: 
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     int (* volatile tp)(void)=(int (*)(void))&t;
 9:     printf("%d", (*tp)());
10:   }
11: 
12:   return !!argv[argc];
13: }
14: int t(void) { void ((*volatile p)()); p = (void ((*)()))clock_gettime; return !p; }
/* end */

--------------------

have_header: checking for sys/time.h... -------------------- yes

LD_LIBRARY_PATH=.:/usr/lib/x86_64-linux-gnu "x86_64-linux-gnu-gcc -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   -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=BUILDDIR=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -g -Wformat -Werror=format-security -Waddress -DHAVE_FORM_DRIVER_W -DHAVE_RB_THREAD_FD_SELECT -DNCURSES_OPAQUE=0 -DHAVE_CLOCK_GETTIME   -c conftest.c"
checked program was:
/* begin */
1: #include "ruby.h"
2: 
3: #include <sys/time.h>
/* end */

--------------------

/usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:126:in `run': make failed, exit code 2 (Gem::InstallError)
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:52:in `block in make'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:44:in `each'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:44:in `make'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:44:in `build'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:81:in `block in build_and_install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:71:in `chdir'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:71:in `build_and_install'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:115:in `block in build_all_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:112:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:112:in `build_all_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb:128:in `<main>'
~~~~~~~~~~~~~~~~~~~~~ ↑ mkmf.log ~~~~~~~~~~~~~~~~~~~~~
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.3 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /build/reproducible-path/ruby-ncurses-1.4.11 debian/ruby-ncurses (Gem2Deb::CommandFailed)
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:64:in `block in run_ruby'
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:87:in `maybe_crossbuild'
	from /usr/lib/ruby/vendor_ruby/gem2deb.rb:63:in `run_ruby'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:62:in `block in install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:59:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:59: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-ncurses-1.4.11/debian/ruby-ncurses returned exit code 1
make: *** [debian/rules:15: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



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