Bug#1133440: cdogs-sdl: ftbfs with GCC-16

Emanuele Rocca ema at debian.org
Mon Apr 13 14:01:53 BST 2026


Package: src:cdogs-sdl
Version: 2.1.0+dfsg-2.1
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

cdogs-sdl 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/cdogs-sdl_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.

[...]


   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c: In function ‘HighScoreDraw’:
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:221:21: warning: ‘%d’ directive writing between 1 and 11 bytes into a region of size 10 [-Wformat-overflow=]
  221 |         sprintf(s, "%d.", idx + 1);
      |                     ^~
In function ‘DisplayEntry’,
    inlined from ‘DisplayPage’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:254:8,
    inlined from ‘HighScoreDraw’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:332:20:
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:221:20: note: directive argument in the range [-2147483647, 20]
  221 |         sprintf(s, "%d.", idx + 1);
      |                    ^~~~~
In function ‘sprintf’,
    inlined from ‘DisplayEntry’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:221:2,
    inlined from ‘DisplayPage’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:254:8,
    inlined from ‘HighScoreDraw’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:332:20:
/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 3 and 13 bytes into a destination of size 10
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c: In function ‘HighScoreDraw’:
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:227:22: warning: ‘%d’ directive writing between 1 and 11 bytes into a region of size 9 [-Wformat-overflow=]
  227 |         sprintf(s, "(%d)", e->lastMission + 1);
      |                      ^~
In function ‘DisplayEntry’,
    inlined from ‘DisplayPage’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:254:8,
    inlined from ‘HighScoreDraw’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:332:20:
/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:227:20: note: directive argument in the range [-2147483647, 2147483647]
  227 |         sprintf(s, "(%d)", e->lastMission + 1);
      |                    ^~~~~~
In function ‘sprintf’,
    inlined from ‘DisplayEntry’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:227:2,
    inlined from ‘DisplayPage’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:254:8,
    inlined from ‘HighScoreDraw’ at /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/src/hiscores.c:332:20:
/usr/include/aarch64-linux-gnu/bits/stdio2.h:30:10: note: ‘__builtin___sprintf_chk’ output between 4 and 14 bytes into a destination of size 10
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~
/usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/cdogs-sdl-2.1.0+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -finline-limit=1000 -Wno-stringop-truncation -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/nanopb -g -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/player_test.dir/link.d CMakeFiles/player_test.dir/player_test.c.o -o player_test  cbehave/libcbehave.a ../cdogs/libcdogs.a ../proto/libcdogs_proto.a -lm ../cdogs/c_hashmap/libc_hashmap.a ../cdogs/cwolfmap/libcwolfmap.a -lm ../cdogs/cwolfmap/wad/libwad.a ../cdogs/cwolfmap/zip/libzip.a ../json/libjson.a ../cdogs/SDL_JoystickButtonNames/libSDL_joystickbuttonnames.a /usr/lib/aarch64-linux-gnu/libSDL2.so ../cdogs/lib/libyajl_s.a /usr/lib/aarch64-linux-gnu/libSDL2_image.so /usr/lib/aarch64-linux-gnu/libSDL2_mixer.so -lenet -lprotobuf-nanopb
make[3]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
[ 98%] Built target player_test
[ 99%] Linking C executable autosave_test
cd /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu/src/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/autosave_test.dir/link.txt --verbose=1
/usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/cdogs-sdl-2.1.0+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -finline-limit=1000 -Wno-stringop-truncation -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/nanopb -g -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/pic_test.dir/link.d CMakeFiles/pic_test.dir/pic_test.c.o -o pic_test  cbehave/libcbehave.a ../cdogs/libcdogs.a ../proto/libcdogs_proto.a /usr/lib/aarch64-linux-gnu/libSDL2_image.so -lm ../cdogs/c_hashmap/libc_hashmap.a ../cdogs/cwolfmap/libcwolfmap.a -lm ../cdogs/cwolfmap/wad/libwad.a ../cdogs/cwolfmap/zip/libzip.a ../json/libjson.a ../cdogs/SDL_JoystickButtonNames/libSDL_joystickbuttonnames.a /usr/lib/aarch64-linux-gnu/libSDL2.so ../cdogs/lib/libyajl_s.a /usr/lib/aarch64-linux-gnu/libSDL2_mixer.so -lenet -lprotobuf-nanopb
make[3]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
[ 99%] Built target pic_test
/usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/cdogs-sdl-2.1.0+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -finline-limit=1000 -Wno-stringop-truncation -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/nanopb -g -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/autosave_test.dir/link.d CMakeFiles/autosave_test.dir/autosave_test.c.o CMakeFiles/autosave_test.dir/__/autosave.c.o -o autosave_test  cbehave/libcbehave.a ../cdogs/libcdogs.a ../proto/libcdogs_proto.a -lm ../cdogs/c_hashmap/libc_hashmap.a ../cdogs/cwolfmap/libcwolfmap.a -lm ../cdogs/cwolfmap/wad/libwad.a ../cdogs/cwolfmap/zip/libzip.a ../json/libjson.a ../cdogs/SDL_JoystickButtonNames/libSDL_joystickbuttonnames.a /usr/lib/aarch64-linux-gnu/libSDL2.so ../cdogs/lib/libyajl_s.a /usr/lib/aarch64-linux-gnu/libSDL2_image.so /usr/lib/aarch64-linux-gnu/libSDL2_mixer.so -lenet -lprotobuf-nanopb
make[3]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
[ 99%] Built target autosave_test
cc1: all warnings being treated as errors
make[3]: *** [src/CMakeFiles/cdogs-sdl.dir/build.make:362: src/CMakeFiles/cdogs-sdl.dir/prep.c.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:1326: src/CMakeFiles/cdogs-sdl.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
[100%] Linking C executable actor_test
cd /build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu/src/tests && /usr/bin/cmake -E cmake_link_script CMakeFiles/actor_test.dir/link.txt --verbose=1
/usr/bin/cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/cdogs-sdl-2.1.0+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -finline-limit=1000 -Wno-stringop-truncation -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/nanopb -g -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/actor_test.dir/link.d CMakeFiles/actor_test.dir/actor_test.c.o CMakeFiles/actor_test.dir/__/cdogs/actors.c.o -o actor_test  cbehave/libcbehave.a ../cdogs/libcdogs.a ../proto/libcdogs_proto.a -lm ../cdogs/c_hashmap/libc_hashmap.a ../cdogs/cwolfmap/libcwolfmap.a -lm ../cdogs/cwolfmap/wad/libwad.a ../cdogs/cwolfmap/zip/libzip.a ../json/libjson.a ../cdogs/SDL_JoystickButtonNames/libSDL_joystickbuttonnames.a /usr/lib/aarch64-linux-gnu/libSDL2.so ../cdogs/lib/libyajl_s.a /usr/lib/aarch64-linux-gnu/libSDL2_image.so /usr/lib/aarch64-linux-gnu/libSDL2_mixer.so -lenet -lprotobuf-nanopb
make[3]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
[100%] Built target actor_test
make[2]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/obj-aarch64-linux-gnu'
make[1]: *** [Makefile:169: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/cdogs-sdl-2.1.0+dfsg/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:14: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2



More information about the Pkg-games-devel mailing list