[DRE-maint] Bug#1075467: ruby-msgpack: ftbfs with GCC-14

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


Package: src:ruby-msgpack
Version: 1.4.2-2
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-msgpack_1.4.2-2_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

[...]
Building native extensions. This could take a while...
current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
["/usr/bin/ruby3.1", "-I/usr/lib/ruby/vendor_ruby", "extconf.rb"]
checking for ruby/st.h... yes
checking for st.h... no
checking for rb_str_replace() in ruby.h... yes
checking for rb_intern_str() in ruby.h... yes
checking for rb_enc_interned_str() in ruby.h... yes
checking for rb_sym2str() in ruby.h... yes
checking for rb_str_intern() in ruby.h... yes
checking for rb_block_lambda() in ruby.h... yes
checking for rb_hash_dup() in ruby.h... yes
checking for rb_hash_clear() in ruby.h... yes
creating Makefile
current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR=", "sitearchdir=./.gem.20240702-2948794-klk2bc", "sitelibdir=./.gem.20240702-2948794-klk2bc", "clean"]
make[1]: Entering directory '/<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack'
rm -f 
rm -fr msgpack.so false *.o  *.bak mkmf.log .*.time
make[1]: Leaving directory '/<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack'
current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
["make", "V=1", "CC=gcc -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "CXX=g++ -fdebug-prefix-map=/<<PKGBUILDDIR>>=.", "DESTDIR=", "sitearchdir=./.gem.20240702-2948794-klk2bc", "sitelibdir=./.gem.20240702-2948794-klk2bc"]
ERROR:  Error installing /tmp/d20240702-2948789-sgurlu/msgpack-1.4.2.gem:
	ERROR: Failed to build gem native extension.

    current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
/usr/bin/ruby3.1 -I/usr/lib/ruby/vendor_ruby extconf.rb
current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. CXX\=g++\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. DESTDIR\= sitearchdir\=./.gem.20240702-2948794-klk2bc sitelibdir\=./.gem.20240702-2948794-klk2bc clean
current directory: /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack
make V\=1 CC\=gcc\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. CXX\=g++\ -fdebug-prefix-map\=/<<PKGBUILDDIR>>\=. DESTDIR\= sitearchdir\=./.gem.20240702-2948794-klk2bc sitelibdir\=./.gem.20240702-2948794-klk2bc
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-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2 for inspection.
Results logged to /<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/extensions/x86_64-linux/3.1.0/msgpack-1.4.2/gem_make.out
make[1]: Entering directory '/<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack'
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_RUBY_ST_H -DHAVE_RB_STR_REPLACE -DHAVE_RB_INTERN_STR -DHAVE_RB_ENC_INTERNED_STR -DHAVE_RB_SYM2STR -DHAVE_RB_STR_INTERN -DHAVE_RB_BLOCK_LAMBDA -DHAVE_RB_HASH_DUP -DHAVE_RB_HASH_CLEAR -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 -I.. -Wall -O3 -g -std=gnu99 -DHASH_ASET_DEDUPE=1  -DSTR_UMINUS_DEDUPE=1  -DSTR_UMINUS_DEDUPE_FROZEN=1   -o buffer.o -c buffer.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_RUBY_ST_H -DHAVE_RB_STR_REPLACE -DHAVE_RB_INTERN_STR -DHAVE_RB_ENC_INTERNED_STR -DHAVE_RB_SYM2STR -DHAVE_RB_STR_INTERN -DHAVE_RB_BLOCK_LAMBDA -DHAVE_RB_HASH_DUP -DHAVE_RB_HASH_CLEAR -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 -I.. -Wall -O3 -g -std=gnu99 -DHASH_ASET_DEDUPE=1  -DSTR_UMINUS_DEDUPE=1  -DSTR_UMINUS_DEDUPE_FROZEN=1   -o buffer_class.o -c buffer_class.c
buffer_class.c: In function ‘read_until_eof’:
buffer_class.c:261:17: error: passing argument 3 of ‘rb_rescue2’ from incompatible pointer type [-Wincompatible-pointer-types]
  261 |                 read_until_eof_error, (VALUE)(void*) args,
      |                 ^~~~~~~~~~~~~~~~~~~~
      |                 |
      |                 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 compat.h:22,
                 from buffer_class.c:19:
/usr/include/ruby-3.1.0/ruby/internal/iterator.h:388:63: note: expected ‘VALUE (*)(VALUE,  VALUE)’ {aka ‘long unsigned int (*)(long unsigned int,  long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’}
  388 | VALUE rb_rescue2(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*r_proc)(VALUE, VALUE), VALUE data2, ...);
      |                                                       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:246: buffer_class.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>/debian/ruby-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0/gems/msgpack-1.4.2/ext/msgpack'
/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-msgpack/usr/lib/x86_64-linux-gnu/rubygems-integration/3.1.0 /tmp/d20240702-2948789-sgurlu/msgpack-1.4.2.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-msgpack returned exit code 1
make: *** [debian/rules:7: binary] Error 25
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2



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