#1133456 devil: ftbfs with GCC-16

Package:
src:devil
Source:
src:devil
Submitter:
Emanuele Rocca
Date:
2026-04-13 13:03:23 UTC
Severity:
normal
Tags:
#1133456#5
Date:
2026-04-13 13:02:40 UTC
From:
To:
Hi,

devil 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/devil_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.

[...]


make[1]: Entering directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/obj-aarch64-linux-gnu'
/usr/bin/cmake -S/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/DevIL -B/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/obj-aarch64-linux-gnu --check-build-system CMakeFiles/Makefile.cmake 0
make  -f CMakeFiles/Makefile2 preinstall
make[2]: Entering directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/obj-aarch64-linux-gnu'
make[2]: Nothing to be done for 'preinstall'.
make[2]: Leaving directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/obj-aarch64-linux-gnu'
Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "None"
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libIL.so.1.1.1
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libIL.so.1
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libIL.so
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/include/IL/il.h
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/pkgconfig/IL.pc
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILU.so.1.1.1
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILU.so.1
-- Set non-toolchain portion of runtime path of "/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILU.so.1.1.1" to ""
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILU.so
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/include/IL/ilu.h
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/pkgconfig/ILU.pc
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILUT.so.1.1.1
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILUT.so.1
-- Set non-toolchain portion of runtime path of "/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILUT.so.1.1.1" to ""
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/libILUT.so
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/include/IL/ilut.h
-- Installing: /build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/debian/tmp/usr/lib/pkgconfig/ILUT.pc
make[1]: Leaving directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg/obj-aarch64-linux-gnu'
   dh_install -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_installdocs -O--sourcedirectory=DevIL -O--buildsystem=cmake
   debian/rules execute_after_dh_installdocs
make[1]: Entering directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg'
rm -fv debian/libdevil-dev/usr/share/doc/libdevil-dev/DevIL-docs/.cvsignore
removed 'debian/libdevil-dev/usr/share/doc/libdevil-dev/DevIL-docs/.cvsignore'
make[1]: Leaving directory '/build/reproducible-path/devil-1.8.0.40.g6f3d5e9b+dfsg'
   dh_installchangelogs -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_installexamples -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_installsystemduser -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_lintian -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_perl -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_link -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_strip_nondeterminism -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_compress -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_fixperms -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_missing -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_dwz -a -O--sourcedirectory=DevIL -O--buildsystem=cmake
dwz: debian/libdevil1c2/usr/lib/aarch64-linux-gnu/libIL.so.1.1.1: DWARF compression not beneficial - old size 620151 new size 624612
   dh_strip -a -O--sourcedirectory=DevIL -O--buildsystem=cmake
   dh_makeshlibs -a -O--sourcedirectory=DevIL -O--buildsystem=cmake
dpkg-gensymbols: warning: some new symbols appeared in the symbols file: see diff output below
dpkg-gensymbols: error: some symbols or patterns disappeared in the symbols file: see diff output below
dpkg-gensymbols: warning: debian/libdevil1c2/DEBIAN/symbols does not match completely debian/libdevil1c2.symbols
--- debian/libdevil1c2.symbols (libdevil1c2_1.8.0.40.g6f3d5e9b+dfsg-4_arm64)
+++ dpkg-gensymbolsg_1Rve	2026-03-18 14:37:52.690549376 +0000
@@ -641,10 +641,11 @@
  _ZN7rg_etc117unpack_etc1_blockEPKvPjb@Base 1.8.0.40.g6f3d5e9b+dfsg
  _ZN7rg_etc119indirect_radix_sortIjtEEPT_jS2_S2_PKT0_jjb@Base 1.8.0.40.g6f3d5e9b+dfsg
  _ZN7rg_etc120pack_etc1_block_initEv@Base 1.8.0.40.g6f3d5e9b+dfsg
- (subst)_ZNSt6vectorI10UTXPALETTESaIS0_EE17_M_default_appendE{size_t}@Base 1.8.0.40.g6f3d5e9b+dfsg
+#MISSING: 1.8.0.40.g6f3d5e9b+dfsg-4# (subst)_ZNSt6vectorI10UTXPALETTESaIS0_EE17_M_default_appendE{size_t}@Base 1.8.0.40.g6f3d5e9b+dfsg
+ _ZNSt6vectorI10UTXPALETTESaIS0_EE6resizeEm@Base 1.8.0.40.g6f3d5e9b+dfsg-4
  (subst)_ZNSt6vectorI12UTXENTRYNAMESaIS0_EE17_M_default_appendE{size_t}@Base 1.7.8
- (subst)_ZNSt6vectorI14UTXEXPORTTABLESaIS0_EE17_M_default_appendE{size_t}@Base 1.7.8
- (subst)_ZNSt6vectorI14UTXIMPORTTABLESaIS0_EE17_M_default_appendE{size_t}@Base 1.7.8
+#MISSING: 1.8.0.40.g6f3d5e9b+dfsg-4# (subst)_ZNSt6vectorI14UTXEXPORTTABLESaIS0_EE17_M_default_appendE{size_t}@Base 1.7.8
+#MISSING: 1.8.0.40.g6f3d5e9b+dfsg-4# (subst)_ZNSt6vectorI14UTXIMPORTTABLESaIS0_EE17_M_default_appendE{size_t}@Base 1.7.8
  _ZZN7rg_etc114etc1_optimizer6params22clear_optimizer_paramsEvE20s_default_scan_delta@Base 1.8.0.40.g6f3d5e9b+dfsg
  _ilLoadExt@Base 1.7.8
  _ilSaveExt@Base 1.7.8
dh_makeshlibs: error: failing due to earlier errors
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2