Bug#1096512: dd2: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:09:35 GMT 2025


Package: src:dd2
Version: 0.2.2-4
Severity: important
Tags: sid forky
User: debian-gcc at lists.debian.org
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/dd2_0.2.2-4_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

[...]
make[2]: Entering directory '/build/reproducible-path/dd2-0.2.2/src'
Making all in data
make[3]: Entering directory '/build/reproducible-path/dd2-0.2.2/src/data'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/build/reproducible-path/dd2-0.2.2/src/data'
make[3]: Entering directory '/build/reproducible-path/dd2-0.2.2/src'
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o menu.o menu.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o SDL_plus.o SDL_plus.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o cfg.o cfg.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o engine.o engine.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o control.o control.c
gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"dodgindiamond2\" -DVERSION=\"0.2.2\" -DHAVE_LIBM=1 -DHAVE_LIBSDL_MIXER=1 -I.   -Wdate-time -D_FORTIFY_SOURCE=2 -DDD2_DATA=\"/usr/share/games/dodgindiamond2\" -Wall -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/dd2-0.2.2=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -DALT_FIRE -c -o main.o main.c
In file included from control.c:22:
main.h:24:13: error: ‘bool’ cannot be defined via ‘typedef’
   24 | typedef int bool;
      |             ^~~~
main.h:24:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
main.h:24:1: warning: useless type name in empty declaration
   24 | typedef int bool;
      | ^~~~~~~
In file included from engine.c:22:
main.h:24:13: error: ‘bool’ cannot be defined via ‘typedef’
   24 | typedef int bool;
      |             ^~~~
main.h:24:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
main.h:24:1: warning: useless type name in empty declaration
   24 | typedef int bool;
      | ^~~~~~~
In file included from main.c:23:
main.h:24:13: error: ‘bool’ cannot be defined via ‘typedef’
   24 | typedef int bool;
      |             ^~~~
main.h:24:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
main.h:24:1: warning: useless type name in empty declaration
   24 | typedef int bool;
      | ^~~~~~~
make[3]: *** [Makefile:389: control.o] Error 1
make[3]: *** Waiting for unfinished jobs....
menu.c: In function ‘getName’:
menu.c:88:16: warning: variable ‘tick’ set but not used [-Wunused-but-set-variable]
   88 |         Uint32 tick;
      |                ^~~~
menu.c: In function ‘hiscores’:
menu.c:283:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  283 |                 if (mevent.type==SDL_QUIT)
      |                 ^~
menu.c:285:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  285 |                         if(mevent.type==SDL_KEYDOWN) {
      |                         ^~
menu.c: In function ‘credits’:
menu.c:659:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  659 |                 if (mevent.type==SDL_QUIT)
      |                 ^~
menu.c:661:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  661 |                         if(mevent.type==SDL_KEYDOWN) {
      |                         ^~
make[3]: *** [Makefile:389: main.o] Error 1
engine.c: In function ‘enemy_type5’:
engine.c:1688:35: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
 1688 |                         e->var[1]=(int)e & 0x0f; /* pseudo random :) */
      |                                   ^
make[3]: *** [Makefile:389: engine.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/dd2-0.2.2/src'
make[2]: *** [Makefile:401: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/dd2-0.2.2/src'
make[1]: *** [Makefile:397: all-recursive] Error 1
make[1]: Leaving directory '/build/reproducible-path/dd2-0.2.2'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:6: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Pkg-games-devel mailing list