[DRE-maint] Bug#1075472: ruby-posix-spawn: ftbfs with GCC-14

Matthias Klose doko at debian.org
Wed Jul 3 13:42:56 BST 2024


Package: src:ruby-posix-spawn
Version: 0.3.15-1
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-posix-spawn_0.3.15-1_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

[...]
install -D -m755 /<<PKGBUILDDIR>>/bin/posix-spawn-benchmark /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/bin/posix-spawn-benchmark
install -d /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/lib/ruby/vendor_ruby
install -D -m644 /<<PKGBUILDDIR>>/lib/posix/spawn/child.rb /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/lib/ruby/vendor_ruby/posix/spawn/child.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/posix/spawn/version.rb /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/lib/ruby/vendor_ruby/posix/spawn/version.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/posix/spawn.rb /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/lib/ruby/vendor_ruby/posix/spawn.rb
install -D -m644 /<<PKGBUILDDIR>>/lib/posix-spawn.rb /<<PKGBUILDDIR>>/debian/ruby-posix-spawn/usr/lib/ruby/vendor_ruby/posix-spawn.rb

┌──────────────────────────────────────────────────────────────────────────────┐
│ Build native extensions for ruby3.1                                          │
└──────────────────────────────────────────────────────────────────────────────┘

/usr/bin/ruby3.1 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-posix-spawn
current directory: /<<PKGBUILDDIR>>/ext
["/usr/bin/ruby3.1", "-I/usr/lib/ruby/vendor_ruby", "extconf.rb"]
creating Makefile
current directory: /<<PKGBUILDDIR>>/ext
["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR=", "sitearchdir=./.gem.20240702-1779315-3bq1kh", "sitelibdir=./.gem.20240702-1779315-3bq1kh", "clean"]
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
rm -f 
rm -fr posix_spawn_ext.so false *.o  *.bak mkmf.log .*.time
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext'
current directory: /<<PKGBUILDDIR>>/ext
["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR=", "sitearchdir=./.gem.20240702-1779315-3bq1kh", "sitelibdir=./.gem.20240702-1779315-3bq1kh"]
/usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:119:in `run': make failed, exit code 2 (Gem::InstallError)
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:53:in `block in make'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:45:in `each'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/builder.rb:45:in `make'
	from /usr/lib/ruby/vendor_ruby/rubygems/ext/ext_conf_builder.rb:42: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>'
make[2]: Entering directory '/<<PKGBUILDDIR>>/ext'
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. -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 posix-spawn.o -c posix-spawn.c
posix-spawn.c: In function ‘posixspawn_file_actions_init’:
posix-spawn.c:226:34: error: passing argument 2 of ‘rb_hash_foreach’ from incompatible pointer type [-Wincompatible-pointer-types]
  226 |         rb_hash_foreach(options, posixspawn_file_actions_operations_iter, (VALUE)fops);
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                  |
      |                                  int (*)(VALUE,  VALUE,  posix_spawn_file_actions_t *) {aka int (*)(long unsigned int,  long unsigned int,  posix_spawn_file_actions_t *)}
In file included from /usr/include/ruby-3.1.0/ruby/internal/scan_args.h:37,
                 from /usr/include/ruby-3.1.0/ruby/ruby.h:46,
                 from /usr/include/ruby-3.1.0/ruby.h:38,
                 from posix-spawn.c:14:
/usr/include/ruby-3.1.0/ruby/internal/intern/hash.h:83:40: note: expected ‘int (*)(VALUE,  VALUE,  VALUE)’ {aka ‘int (*)(long unsigned int,  long unsigned int,  long unsigned int)’} but argument is of type ‘int (*)(VALUE,  VALUE,  posix_spawn_file_actions_t *)’ {aka ‘int (*)(long unsigned int,  long unsigned int,  posix_spawn_file_actions_t *)’}
   83 | void rb_hash_foreach(VALUE hash, int (*func)(VALUE key, VALUE val, VALUE arg), VALUE arg);
      |                                  ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [Makefile:246: posix-spawn.o] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>/ext'
/usr/lib/ruby/vendor_ruby/gem2deb.rb:52:in `run': /usr/bin/ruby3.1 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /<<PKGBUILDDIR>> debian/ruby-posix-spawn (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:57:in `block in install_files_and_build_extensions'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:54:in `each'
	from /usr/lib/ruby/vendor_ruby/gem2deb/installer.rb:54: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-posix-spawn returned exit code 1
make[1]: *** [debian/rules:7: override_dh_auto_install] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:4: binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2



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