Package: src:ruby-libxml
Version: 5.0.3-1
Severity: important
Tags: sid forky
User: [email protected]
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-libxml_5.0.3-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

[...]
  430 |         xmlTextWriterWriteDTDExternalEntity(xmlTextWriterPtr writer,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ruby_xml_writer.c: In function ‘rxml_writer_write_dtd_external_entity_contents’:
ruby_xml_writer.c:1005:60: error: passing argument 4 of 
‘numeric_rxml_writer_va_strings’ from incompatible pointer type 
[-Wincompatible-pointer-types]
 1005 |     return numeric_rxml_writer_va_strings(self, Qundef, 3, 
xmlTextWriterWriteDTDExternalEntityContents, pubid, sysid, ndataid);
      |                                                            
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            int 
(*)(xmlTextWriter *, const xmlChar *, const xmlChar *, const xmlChar *) {aka 
int (*)(struct _xmlTextWriter *, const unsigned char *, const unsigned char *, 
const unsigned char *)}
ruby_xml_writer.c:310:94: note: expected ‘int (*)(void)’ but argument is of 
type ‘int (*)(xmlTextWriter *, const xmlChar *, const xmlChar *, const xmlChar 
*)’ {aka ‘int (*)(struct _xmlTextWriter *, const unsigned char *, const 
unsigned char *, const unsigned char *)’}
  310 | static VALUE numeric_rxml_writer_va_strings(VALUE obj, VALUE pe, size_t 
strings_count, int (*fn)(ANYARGS), ...)
      |                                                                         
               ~~~~~~^~~~~~~~~~~~
/usr/include/libxml2/libxml/xmlwriter.h:437:9: note: 
‘xmlTextWriterWriteDTDExternalEntityContents’ declared here
  437 |         xmlTextWriterWriteDTDExternalEntityContents(xmlTextWriterPtr
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ruby_xml_writer.c: In function ‘rxml_writer_write_dtd_internal_entity’:
ruby_xml_writer.c:1021:56: error: passing argument 4 of 
‘numeric_rxml_writer_va_strings’ from incompatible pointer type 
[-Wincompatible-pointer-types]
 1021 |     return numeric_rxml_writer_va_strings(self, pe, 2, 
xmlTextWriterWriteDTDInternalEntity, name, content);
      |                                                        
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                        |
      |                                                        int 
(*)(xmlTextWriter *, int,  const xmlChar *, const xmlChar *) {aka int 
(*)(struct _xmlTextWriter *, int,  const unsigned char *, const unsigned char 
*)}
ruby_xml_writer.c:310:94: note: expected ‘int (*)(void)’ but argument is of 
type ‘int (*)(xmlTextWriter *, int,  const xmlChar *, const xmlChar *)’ {aka 
‘int (*)(struct _xmlTextWriter *, int,  const unsigned char *, const unsigned 
char *)’}
  310 | static VALUE numeric_rxml_writer_va_strings(VALUE obj, VALUE pe, size_t 
strings_count, int (*fn)(ANYARGS), ...)
      |                                                                         
               ~~~~~~^~~~~~~~~~~~
/usr/include/libxml2/libxml/xmlwriter.h:425:9: note: 
‘xmlTextWriterWriteDTDInternalEntity’ declared here
  425 |         xmlTextWriterWriteDTDInternalEntity(xmlTextWriterPtr writer,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ruby_xml_writer.c: In function ‘rxml_writer_write_dtd_notation’:
ruby_xml_writer.c:1031:60: error: passing argument 4 of 
‘numeric_rxml_writer_va_strings’ from incompatible pointer type 
[-Wincompatible-pointer-types]
 1031 |     return numeric_rxml_writer_va_strings(self, Qundef, 3, 
xmlTextWriterWriteDTDNotation, name, pubid, sysid);
ERROR:  Error installing /tmp/d20250216-63-pw04nx/libxml-ruby-5.0.3.gem:
        ERROR: Failed to build gem native extension.

    current directory: 
/build/reproducible-path/ruby-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/libxml-ruby-5.0.3/ext/libxml
/usr/bin/ruby3.3 -I/usr/lib/ruby/vendor_ruby extconf.rb
current directory: 
/build/reproducible-path/ruby-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/libxml-ruby-5.0.3/ext/libxml
make V\=1 CC\=gcc\ 
-fdebug-prefix-map\=/build/reproducible-path/ruby-libxml-5.0.3\=. CXX\=g++\ 
-fdebug-prefix-map\=/build/reproducible-path/ruby-libxml-5.0.3\=. DESTDIR\= 
sitearchdir\=./.gem.20250216-70-x4ctkp sitelibdir\=./.gem.20250216-70-x4ctkp 
clean
current directory: 
/build/reproducible-path/ruby-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/libxml-ruby-5.0.3/ext/libxml
make V\=1 CC\=gcc\ 
-fdebug-prefix-map\=/build/reproducible-path/ruby-libxml-5.0.3\=. CXX\=g++\ 
-fdebug-prefix-map\=/build/reproducible-path/ruby-libxml-5.0.3\=. DESTDIR\= 
sitearchdir\=./.gem.20250216-70-x4ctkp sitelibdir\=./.gem.20250216-70-x4ctkp
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-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/libxml-ruby-5.0.3
 for inspection.
Results logged to 
/build/reproducible-path/ruby-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/extensions/x86_64-linux-gnu/3.3.0/libxml-ruby-5.0.3/gem_make.out
      |                                                            
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                            |
      |                                                            int 
(*)(xmlTextWriter *, const xmlChar *, const xmlChar *, const xmlChar *) {aka 
int (*)(struct _xmlTextWriter *, const unsigned char *, const unsigned char *, 
const unsigned char *)}
ruby_xml_writer.c:310:94: note: expected ‘int (*)(void)’ but argument is of 
type ‘int (*)(xmlTextWriter *, const xmlChar *, const xmlChar *, const xmlChar 
*)’ {aka ‘int (*)(struct _xmlTextWriter *, const unsigned char *, const 
unsigned char *, const unsigned char *)’}
  310 | static VALUE numeric_rxml_writer_va_strings(VALUE obj, VALUE pe, size_t 
strings_count, int (*fn)(ANYARGS), ...)
      |                                                                         
               ~~~~~~^~~~~~~~~~~~
/usr/include/libxml2/libxml/xmlwriter.h:459:9: note: 
‘xmlTextWriterWriteDTDNotation’ declared here
  459 |         xmlTextWriterWriteDTDNotation(xmlTextWriterPtr writer,
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:248: ruby_xml_writer.o] Error 1
make[1]: Leaving directory 
'/build/reproducible-path/ruby-libxml-5.0.3/debian/ruby-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0/gems/libxml-ruby-5.0.3/ext/libxml'
/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-libxml/usr/lib/x86_64-linux-gnu/rubygems-integration/3.3.0 
/tmp/d20250216-63-pw04nx/libxml-ruby-5.0.3.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-libxml-5.0.3/debian/ruby-libxml returned exit 
code 1
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

_______________________________________________
Pkg-ruby-extras-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-ruby-extras-maintainers

Reply via email to