#1133444 collada-dom: ftbfs with GCC-16

#1133444#5
Date:
2026-04-13 13:02:05 UTC
From:
To:
Hi,

collada-dom fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.

The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/collada-dom_arm64.build.xz

The last lines of the build log are at the end of this report.

To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html

Please only close this issue after double-checking that the package can be
built correctly with GCC 16.

Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.

[...]


/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domVisual_scene.h:202:44: note:   by ‘virtual ColladaDOM141::domVisual_scene::domEvaluate_scene::domRender& ColladaDOM141::domVisual_scene::domEvaluate_scene::domRender::operator=(const ColladaDOM141::domVisual_scene::domEvaluate_scene::domRender&)’
  202 |                         virtual domRender &operator=( const domRender &cpy ) { (void)cpy; return *this; }
      |                                            ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/dae/daeElement.h:62:25: warning: ‘virtual daeElement& daeElement::operator=(const daeElement&)’ was hidden [-Woverloaded-virtual=]
   62 |     virtual daeElement &operator=( const daeElement &cpy ) {
      |                         ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domVisual_scene.h:266:44: note:   by ‘virtual ColladaDOM141::domVisual_scene::domEvaluate_scene& ColladaDOM141::domVisual_scene::domEvaluate_scene::operator=(const ColladaDOM141::domVisual_scene::domEvaluate_scene&)’
  266 |                 virtual domEvaluate_scene &operator=( const domEvaluate_scene &cpy ) { (void)cpy; return *this; }
      |                                            ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/dae/daeElement.h:62:25: warning: ‘virtual daeElement& daeElement::operator=(const daeElement&)’ was hidden [-Woverloaded-virtual=]
   62 |     virtual daeElement &operator=( const daeElement &cpy ) {
      |                         ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domVisual_scene.h:387:34: note:   by ‘virtual ColladaDOM141::domVisual_scene& ColladaDOM141::domVisual_scene::operator=(const ColladaDOM141::domVisual_scene&)’
  387 |         virtual domVisual_scene &operator=( const domVisual_scene &cpy ) { (void)cpy; return *this; }
      |                                  ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/dae/daeElement.h:62:25: warning: ‘virtual daeElement& daeElement::operator=(const daeElement&)’ was hidden [-Woverloaded-virtual=]
   62 |     virtual daeElement &operator=( const daeElement &cpy ) {
      |                         ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domLibrary_visual_scenes.h:121:43: note:   by ‘virtual ColladaDOM141::domLibrary_visual_scenes& ColladaDOM141::domLibrary_visual_scenes::operator=(const ColladaDOM141::domLibrary_visual_scenes&)’
  121 |         virtual domLibrary_visual_scenes &operator=( const domLibrary_visual_scenes &cpy ) { (void)cpy; return *this; }
      |                                           ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/dae/daeElement.h:62:25: warning: ‘virtual daeElement& daeElement::operator=(const daeElement&)’ was hidden [-Woverloaded-virtual=]
   62 |     virtual daeElement &operator=( const daeElement &cpy ) {
      |                         ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domCOLLADA.h:124:35: note:   by ‘virtual ColladaDOM141::domCOLLADA::domScene& ColladaDOM141::domCOLLADA::domScene::operator=(const ColladaDOM141::domCOLLADA::domScene&)’
  124 |                 virtual domScene &operator=( const domScene &cpy ) { (void)cpy; return *this; }
      |                                   ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/dae/daeElement.h:62:25: warning: ‘virtual daeElement& daeElement::operator=(const daeElement&)’ was hidden [-Woverloaded-virtual=]
   62 |     virtual daeElement &operator=( const daeElement &cpy ) {
      |                         ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/include/1.4/dom/domCOLLADA.h:507:29: note:   by ‘virtual ColladaDOM141::domCOLLADA& ColladaDOM141::domCOLLADA::operator=(const ColladaDOM141::domCOLLADA&)’
  507 |         virtual domCOLLADA &operator=( const domCOLLADA &cpy ) { (void)cpy; return *this; }
      |                             ^~~~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp: In function ‘daeInt getDomAnyID(DAE&)’:
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp:114:12: warning: converting to non-pointer type ‘daeInt’ {aka ‘int’} from NULL [-Wconversion-null]
  114 |     return NULL;
      |            ^~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp: In function ‘daeInt getDomSourceID(DAE&)’:
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp:129:12: warning: converting to non-pointer type ‘daeInt’ {aka ‘int’} from NULL [-Wconversion-null]
  129 |     return NULL;
      |            ^~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp: In function ‘daeInt getDomCOLLADAID(const char*)’:
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/dae/daeDom.cpp:144:12: warning: converting to non-pointer type ‘daeInt’ {aka ‘int’} from NULL [-Wconversion-null]
  144 |     return NULL;
      |            ^~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp: In member function ‘virtual daeInt daeLIBXMLPlugin::write(const daeURI&, daeDocument*, daeBool)’:
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:363:15: warning: argument 1 null where non-null expected [-Wnonnull]
  363 |         fclose(tempfd);
      |         ~~~~~~^~~~~~~~
In file included from /usr/include/c++/16/cstdio:47,
                 from /usr/include/c++/16/ext/string_conversions.h:47,
                 from /usr/include/c++/16/bits/basic_string.h:4499,
                 from /usr/include/c++/16/string:58,
                 from /build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:18:
/usr/include/stdio.h:187:12: note: in a call to function ‘int fclose(FILE*)’ declared ‘nonnull’
  187 | extern int fclose (FILE *__stream) __nonnull ((1));
      |            ^~~~~~
/build/reproducible-path/collada-dom-2.5.0+ds1/dom/src/modules/LIBXMLPlugin/daeLIBXMLPlugin.cpp:376:19: warning: argument 1 null where non-null expected [-Wnonnull]
  376 |             fclose(rawFile);
      |             ~~~~~~^~~~~~~~~
/usr/include/stdio.h:187:12: note: in a call to function ‘int fclose(FILE*)’ declared ‘nonnull’
  187 | extern int fclose (FILE *__stream) __nonnull ((1));
      |            ^~~~~~
make[3]: Leaving directory '/build/reproducible-path/collada-dom-2.5.0+ds1/obj-aarch64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:188: dom/CMakeFiles/collada-dom.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/collada-dom-2.5.0+ds1/obj-aarch64-linux-gnu'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/collada-dom-2.5.0+ds1/obj-aarch64-linux-gnu'
dh_auto_build: error: cd obj-aarch64-linux-gnu && make -j128 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2
make: *** [debian/rules:20: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

#1133444#12
Date:
2026-08-03 14:24:04 UTC
From:
To:
Dear Maintainer,

Please find in attachment a patch that you can drop in the
debian/patches/ directory to fix the build with g++ 16

Best regards,
Sébastien

#1133444#19
Date:
2026-08-09 12:34:04 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
collada-dom, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1133444@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Alexandre Detiste <tchet@debian.org> (supplier of updated collada-dom package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Sun, 09 Aug 2026 13:44:18 +0200
Source: collada-dom
Architecture: source
Version: 2.5.0+ds1-9
Distribution: unstable
Urgency: medium
Maintainer: Debian Science Maintainers <debian-science-maintainers@lists.alioth.debian.org>
Changed-By: Alexandre Detiste <tchet@debian.org>
Closes: 1133444
Changes:
 collada-dom (2.5.0+ds1-9) unstable; urgency=medium
 .
   * Team upload.
   * Update standards version to 4.7.4, no changes needed.
   * Disable useless Salsa CI jobs
   * Rename files under debian/ for future debhelper 14 compatibility
 .
   [ Sébastien Noel ]
   * Fix ftbfs with GCC-16 (Closes: #1133444)
Checksums-Sha1:
 d838ed8a3b7c23e23c1c52a4fa8739741ea61c27 2342 collada-dom_2.5.0+ds1-9.dsc
 2e000e18f5202beffcdd10bc2b0e0f60d624774d 9708 collada-dom_2.5.0+ds1-9.debian.tar.xz
 04899bd90c73a5f328f1581cf0210567213eada5 7468 collada-dom_2.5.0+ds1-9_source.buildinfo
Checksums-Sha256:
 c5403a05647a9f7ae957300dc0ce50dbe31fa01d7e1506391403e8bf6a609f71 2342 collada-dom_2.5.0+ds1-9.dsc
 f50ca9ecd4fb5b5fdab5ac2505b26aa3b4fdf73de733f257e1ebde196b095ecc 9708 collada-dom_2.5.0+ds1-9.debian.tar.xz
 15b414a2c6bd776c9f4e92304dc9e9f15bad8b2ab708bd4abca590ec925ab5a0 7468 collada-dom_2.5.0+ds1-9_source.buildinfo
Files:
 d0285d41aff46f3edc2a4060f1006945 2342 science optional collada-dom_2.5.0+ds1-9.dsc
 744105594a178991f7363bccb4a9ad98 9708 science optional collada-dom_2.5.0+ds1-9.debian.tar.xz
 62d9ce03e0344b6beea235cfdf29e281 7468 science optional collada-dom_2.5.0+ds1-9_source.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmp4bEgRHHRjaGV0QGRl
Ymlhbi5vcmcACgkQMfMURUShdBoMcg/+J75LkbUIQLozwjXkgYB4J45ACV9FOyft
rWMV9kMO6oLmXk2Y9t4hpPnNL4Z32FmV08XaL5xFCrvVEEv4qgIA/PjULw+u0aM5
9wqn12nzN9yDo1d+3povh5Qtm1pDunyGYoaCGuJ8OQ1BzSwahpLaVHqEGUKxzdci
9Zqu7JUb2ekBOYkA7nADvmhGfJbKOyU3tPmGU0m1/Nfyid0dMJUk6AHv6Hla1tm7
z4Wlpn5JBS2PT8WCCajdAesvKQUiWt9vaInMpXbcJWpH2PPUYonNUavd0TpJc9y6
IGFoUrN5DV0faIeqy2cVQ9XLAFbytUZTK7QgHaErW+Tcnr3+P6QA4C3lK/TosSKe
nXD2iLhtBt4FUjkh1sr5odBr+sYCAt2uwe+556/A2XUvev6qW7ifLoD2B0N5+ULK
bup0uB5Z7NBPAXJ0QFdJG/Es6+0rgmqj7vfk4c1ehM/51fGWvcGkRNkQxrwqOMzG
dc9zsOd2QRVJHdDPEPBvASnnEc9HAlF2Tc6Xa71oMa3TZDEoOkAIZ2zk8GtK2bf0
IAAgypitT1uUIPj5Ap1ZvTzhfNmtX/unqVGTOhFT7yLlwSsF0j3G/xkD18FR+IET
rPPPpESR44spLUdIUxpU1mLL4S5Ccnozk3CPjUxyM1R2SRRAFnhCj4FbahADcj1+
64sCn7bRjKM=
=aTHV
-----END PGP SIGNATURE-----