#1096500 darkplaces: ftbfs with GCC-15

#1096500#5
Date:
2025-02-17 17:09:14 UTC
From:
To:
[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/darkplaces_0~20180908~beta1-6_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

[...]
  473 |                                 SWAP_LISTENERS(listeners[6], listeners[7], swaplistener);
      |                                 ^~~~~~~~~~~~~~
../../../snd_main.c:475:25: note: here
  475 |                         case 4:
      |                         ^~~~
../../../snd_main.c:445:71: warning: this statement may fall through [-Wimplicit-fallthrough=]
  445 | #define SWAP_LISTENERS(l1, l2, tmpl) { tmpl = (l1); (l1) = (l2); (l2) = tmpl; }
      |                                                                       ^
../../../snd_main.c:477:33: note: in expansion of macro ‘SWAP_LISTENERS’
  477 |                                 SWAP_LISTENERS(listeners[2], listeners[3], swaplistener);
      |                                 ^~~~~~~~~~~~~~
../../../snd_main.c:479:25: note: here
  479 |                         case 2:
      |                         ^~~~
make[4]: *** [makefile.inc:450: snd_mem.o] Error 1
make[4]: *** [makefile.inc:450: snd_main.o] Error 1
In file included from ../../../quakedef.h:49,
                 from ../../../thread_sdl.c:3:
../../../qtypes.h:9:26: error: cannot use keyword ‘false’ as enumeration constant
    9 | typedef enum qboolean_e {false, true} qboolean;
      |                          ^~~~~
../../../qtypes.h:9:26: note: ‘false’ is a keyword with ‘-std=c23’ onwards
In file included from ../../../quakedef.h:49,
                 from ../../../sys_sdl.c:30:
../../../qtypes.h:9:26: error: cannot use keyword ‘false’ as enumeration constant
    9 | typedef enum qboolean_e {false, true} qboolean;
      |                          ^~~~~
../../../qtypes.h:9:26: note: ‘false’ is a keyword with ‘-std=c23’ onwards
make[4]: *** [makefile.inc:450: sys_sdl.o] Error 1
make[4]: *** [makefile.inc:450: thread_sdl.o] Error 1
In file included from ../../../quakedef.h:49,
                 from ../../../vid_sdl.c:23:
../../../qtypes.h:9:26: error: cannot use keyword ‘false’ as enumeration constant
    9 | typedef enum qboolean_e {false, true} qboolean;
      |                          ^~~~~
../../../qtypes.h:9:26: note: ‘false’ is a keyword with ‘-std=c23’ onwards
../../../vid_sdl.c: In function ‘GL_ExtensionSupported’:
../../../vid_sdl.c:1297:16: warning: implicit conversion from ‘SDL_bool’ to ‘qboolean’ {aka ‘enum qboolean_e’} [-Wenum-conversion]
 1297 |         return SDL_GL_ExtensionSupported(name);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../../vid_sdl.c: In function ‘VID_InitModeGL’:
../../../vid_sdl.c:1546:23: warning: nested extern declaration of ‘gl_info_vendor’ [-Wnested-externs]
 1546 |         extern cvar_t gl_info_vendor;
      |                       ^~~~~~~~~~~~~~
../../../vid_sdl.c:1546:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
 1546 |         extern cvar_t gl_info_vendor;
      |         ^~~~~~
../../../vid_sdl.c:1547:23: warning: nested extern declaration of ‘gl_info_renderer’ [-Wnested-externs]
 1547 |         extern cvar_t gl_info_renderer;
      |                       ^~~~~~~~~~~~~~~~
../../../vid_sdl.c:1548:23: warning: nested extern declaration of ‘gl_info_version’ [-Wnested-externs]
 1548 |         extern cvar_t gl_info_version;
      |                       ^~~~~~~~~~~~~~~
../../../vid_sdl.c:1549:23: warning: nested extern declaration of ‘gl_info_platform’ [-Wnested-externs]
 1549 |         extern cvar_t gl_info_platform;
      |                       ^~~~~~~~~~~~~~~~
../../../vid_sdl.c:1550:23: warning: nested extern declaration of ‘gl_info_driver’ [-Wnested-externs]
 1550 |         extern cvar_t gl_info_driver;
      |                       ^~~~~~~~~~~~~~
make[4]: *** [makefile.inc:450: vid_sdl.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/darkplaces-0~20180908~beta1/build-obj/release/darkplaces-sdl'
make[3]: *** [makefile.inc:393: bin-release] Error 2
make[3]: Leaving directory '/build/reproducible-path/darkplaces-0~20180908~beta1'
make[2]: *** [makefile.inc:354: sdl-release] Error 2
make[2]: Leaving directory '/build/reproducible-path/darkplaces-0~20180908~beta1'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" "CFLAGS_RELEASE=-Wdate-time -D_FORTIFY_SOURCE=2 -DSVNREVISION=0~20180908~beta1-6 -DBUILDTYPE=Debian -DNO_BUILD_TIMESTAMPS  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/darkplaces-0~20180908~beta1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -Wstrict-prototypes -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -fno-strict-aliasing " "CFLAGS_DEBUG=-Wdate-time -D_FORTIFY_SOURCE=2 -DSVNREVISION=0~20180908~beta1-6 -DBUILDTYPE=Debian -DNO_BUILD_TIMESTAMPS  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/darkplaces-0~20180908~beta1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -Wstrict-prototypes -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -fno-strict-aliasing " "LDFLAGS_RELEASE=-Wdate-time -D_FORTIFY_SOURCE=2 -DSVNREVISION=0~20180908~beta1-6 -DBUILDTYPE=Debian -DNO_BUILD_TIMESTAMPS  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/darkplaces-0~20180908~beta1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -Wstrict-prototypes -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -fno-strict-aliasing  -Wl,-z,relro -Wl,-z,now" "LDFLAGS_DEBUG=-Wdate-time -D_FORTIFY_SOURCE=2 -DSVNREVISION=0~20180908~beta1-6 -DBUILDTYPE=Debian -DNO_BUILD_TIMESTAMPS  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/darkplaces-0~20180908~beta1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -Wextra -Wstrict-prototypes -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security -Winit-self -Wno-missing-field-initializers -Wno-unused-parameter -fno-strict-aliasing  -Wl,-z,relro -Wl,-z,now" DP_MAKE_TARGET=linux DP_MACHINE=x86_64 DP_LINK_CURL=shared DP_LINK_FREETYPE2=shared DP_LINK_JPEG=shared DP_LINK_VORBIS=shared DP_LINK_ODE=shared DP_LINK_PNG=shared DP_LINK_THEORA=shared DP_LINK_ZLIB=shared DISABLE_OFFSCREEN_GECKO=1 DP_LINK_CRYPTO=never DP_LINK_CRYPTO_RIJNDAEL=never DP_LINK_AVW=never "STRIP=: do not strip" sdl-release sv-release returned exit code 2
make[1]: *** [debian/rules:41: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/darkplaces-0~20180908~beta1'
make: *** [debian/rules:36: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1096500#12
Date:
2025-09-05 11:33:26 UTC
From:
To:
Hello,

Bug #1096500 in darkplaces reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/games-team/darkplaces/-/commit/089f770473bf1320ac694f145b4094157b69fa2f
------------------------------------------------------------------------
d/rules: Continue to build using C17 standard with GNU extensions

This older codebase is not compatible with gcc-15's default C23 standards
compliance making true and false into keywords, and switching to C23
bool risks subtle ABI issues. Until there is a C23-compatible release
or a more active maintainer who can nominate a stable snapshot to use,
return to gcc-14's default C standard.

Closes: #1096500
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1096500

#1096500#19
Date:
2025-09-05 11:49:34 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
darkplaces, 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 1096500@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon McVittie <smcv@debian.org> (supplier of updated darkplaces 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: Fri, 05 Sep 2025 12:32:07 +0100
Source: darkplaces
Architecture: source
Version: 0~20180908~beta1-7
Distribution: unstable
Urgency: medium
Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Changed-By: Simon McVittie <smcv@debian.org>
Closes: 1096500
Changes:
 darkplaces (0~20180908~beta1-7) unstable; urgency=medium
 .
   * d/rules: Continue to build using C17 standard with GNU extensions.
     This older codebase is not compatible with gcc-15's default
     C23 standards compliance making true and false into keywords,
     and switching to C23 bool risks subtle ABI issues. Until there
     is a C23-compatible release or a more active maintainer who can
     nominate a stable snapshot to use, return to gcc-14's default C
     standard. (Closes: #1096500)
   * d/control: Remove Rules-Requires-Root, unnecessary since trixie
   * d/control: Standards-Version: 4.7.2 (no changes required)
Checksums-Sha1:
 71ac90e2a7ccf07bb29bec6de2f2649e6de1b710 2553 darkplaces_0~20180908~beta1-7.dsc
 76568794a7ab2b1c6d12cc3f881f6df14c89eea9 39244 darkplaces_0~20180908~beta1-7.debian.tar.xz
 64513439fb26acd5d8fbb6022d66412ddd595755 5182208 darkplaces_0~20180908~beta1-7.git.tar.xz
 11b9718bb35c0e9ed9264e886803ee3264f1b810 18110 darkplaces_0~20180908~beta1-7_source.buildinfo
Checksums-Sha256:
 7285f658fdc52ec0c4d5955dad95ebed8995b37f31cba03b7d10e425127a9626 2553 darkplaces_0~20180908~beta1-7.dsc
 17bde053568d4cf7355c9a40c50d08815c83d57464e3e72050dc4dbf54df1e15 39244 darkplaces_0~20180908~beta1-7.debian.tar.xz
 be597565667f632d06b056f68324823769aa1df5d7912dd9a87f4aeb9ad8ee09 5182208 darkplaces_0~20180908~beta1-7.git.tar.xz
 17c1152f0b486069d4ba1d244de44966a9aa33863823bf8e84a1f2533d35d13b 18110 darkplaces_0~20180908~beta1-7_source.buildinfo
Files:
 8c6da85edd570f0e2f6fc1b73f6b1037 2553 games optional darkplaces_0~20180908~beta1-7.dsc
 0fe83b8cdfc50a7563991a12b666aeb7 39244 games optional darkplaces_0~20180908~beta1-7.debian.tar.xz
 0594853dfb6c3cba85d3f6045b77b0ba 5182208 games optional darkplaces_0~20180908~beta1-7.git.tar.xz
 4dc62abdbe687e387f9fba852bf869a3 18110 games optional darkplaces_0~20180908~beta1-7_source.buildinfo
Git-Tag-Info: tag=dd28980739c834465f3348ab16f427931529d06a fp=7a073ad1ae694fa25bff62e5235c099d3eb33076
Git-Tag-Tagger: Simon McVittie <smcv@debian.org>
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmi6yswACgkQYG0ITkaD
wHneiBAAiPOyCcHSzUzXDJr/nm9Dw6gB19wUK+Tcr2t+xf4NC+9iinPqAicuF9s1
RM8HSruNB5OPiqreS5dKtbC9TVhW58a8aO8uK1E6DjXRx0rGViI45lRz5wLWhkVT
rHiR3E+k9Yg5gKdxaydFTQO3jHJb12nA0JlKgkLjrPLHHBJxfAXLhA6eYb/uJVU8
whmuPdHjedylO8L7E6TqN4No3yuMWh4uctwe0Go0cWqfU5RRVSPeWh1hrGNVzP3q
I6Bvm28UwS5xIj8h+3uCy+gQP6r9yPCNQyu0yUbpfhilPEu5zdO65EFO8ReX8tvO
I9OOLZBEwm+o4j1sAR7waoo3MlhJ4u+ZkTpFtb4YlspMZ8vzZFdg/yBzWtIMBgvK
N01Nrc8dgEZeZey75uhOVIJBd4FXbZz/wTHjaWREKrZff6gzvg6QDrU2JIG7/1I6
by1XD6XMtY4hmqsXMLx0MNxg2g6Ify0NoiFcuD+eFz8Q4WEXVMTTFrkRpcM2iGuo
uIIGV4zdU2IeRPLcLZ94GQbVhg+OHPtN/gtVEY3ypKT6FDi3Pme+b4nQTXlheRbl
shdcqBDDjAbvxOKFgtg3VZ+OLz+mF2OcDKYGg5W3yewmIHJqwFGSS/NfVQQJrWmZ
EtkyrNan3EuJJUU0/7GMyt+4YZicnC5iE2glHJFqzxzxvXFKJTA=
=OZ18
-----END PGP SIGNATURE-----