[DRE-maint] Bug#1075470: ruby-nio4r: ftbfs with GCC-14
Matthias Klose
doko at debian.org
Wed Jul 3 13:42:53 BST 2024
Package: src:ruby-nio4r
Version: 2.5.8-4
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14
[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.
The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/ruby-nio4r_2.5.8-4_unstable_gccexp.log
The last lines of the build log are at the end of this report.
To build with GCC 14, either set CC=gcc-14 CXX=g++-14 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
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-14/porting_to.html
[...]
current directory: /<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8/ext/nio4r
/usr/bin/ruby3.1 -I/usr/lib/ruby/vendor_ruby extconf.rb
current directory: /<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8/ext/nio4r
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. CXX\=g++\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. DESTDIR\= sitearchdir\=./.gem.20240702-1675710-pa92f4 sitelibdir\=./.gem.20240702-1675710-pa92f4 clean
current directory: /<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8/ext/nio4r
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. CXX\=g++\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. DESTDIR\= sitearchdir\=./.gem.20240702-1675710-pa92f4 sitelibdir\=./.gem.20240702-1675710-pa92f4
Building has failed. See above output for more information on the failure.
make failed, exit code 2
Gem files will remain installed in /<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8 for inspection.
Results logged to /<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/extensions/x86_64-linux/3.1.0/nio4r-2.5.8/gem_make.out
make[1]: Entering directory '/<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8/ext/nio4r'
gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.1.0 -I/usr/include/ruby-3.1.0/ruby/backward -I/usr/include/ruby-3.1.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -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 -o bytebuffer.o -c bytebuffer.c
gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.1.0 -I/usr/include/ruby-3.1.0/ruby/backward -I/usr/include/ruby-3.1.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -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 -o monitor.o -c monitor.c
gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.1.0 -I/usr/include/ruby-3.1.0/ruby/backward -I/usr/include/ruby-3.1.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -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 -o nio4r_ext.o -c nio4r_ext.c
In file included from nio4r_ext.c:6:
../libev/ev.c:2136:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’
2136 | EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
| ^~~~~~~~~~~~~~~~~~~
../libev/ev.c: In function ‘evpipe_write’:
../libev/ev.c:2798:11: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2798 | write (evpipe [1], &counter, sizeof (uint64_t));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:2810:11: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2810 | write (evpipe [1], &(evpipe [1]), 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c: In function ‘pipecb’:
../libev/ev.c:2831:11: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2831 | read (evpipe [1], &counter, sizeof (uint64_t));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:2845:11: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
2845 | read (evpipe [0], &dummy, sizeof (dummy));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -I. -I/usr/include/x86_64-linux-gnu/ruby-3.1.0 -I/usr/include/ruby-3.1.0/ruby/backward -I/usr/include/ruby-3.1.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -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 -o selector.o -c selector.c
selector.c: In function ‘NIO_Selector_synchronize’:
selector.c:301:26: error: passing argument 1 of ‘rb_ensure’ from incompatible pointer type [-Wincompatible-pointer-types]
301 | return rb_ensure(func, (VALUE)args, NIO_Selector_unlock, self);
| ^~~~
| |
| VALUE (*)(VALUE *) {aka long unsigned int (*)(long unsigned int *)}
In file included from /usr/include/ruby-3.1.0/ruby/ruby.h:40,
from /usr/include/ruby-3.1.0/ruby.h:38,
from nio4r.h:10,
from selector.c:6:
/usr/include/ruby-3.1.0/ruby/internal/iterator.h:425:25: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE *)’ {aka ‘long unsigned int (*)(long unsigned int *)’}
425 | VALUE rb_ensure(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*e_proc)(VALUE), VALUE data2);
| ~~~~~~~~^~~~~~~~~~~~~~
selector.c: In function ‘NIO_Selector_wakeup’:
selector.c:499:5: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
499 | write(selector->wakeup_writer, "\0", 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:246: selector.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/nio4r-2.5.8/ext/nio4r'
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.1 -S gem install --config-file /dev/null --verbose --local --verbose --no-document --ignore-dependencies --install-dir debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 /tmp/d20240702-1675705-mt6bk8/nio4r-2.5.8.gem (Gem2Deb::CommandFailed)
from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:213: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:212:in `run_gem'
from /usr/lib/ruby/vendor_ruby/gem2deb/gem_installer.rb:121: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 /<<PKGBUILDDIR>>/debian/ruby-nio4r 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