Subject: Bug#1075115: klystrack: ftbfs with GCC-14

From: Matthias Klose <[email-masked]>
Date: Wed, 03 Jul 2024 12:31:33 +0000

Package: src:klystrack
Version: 0.20171212-6
Severity: important
Tags: sid trixie
User: [email-masked]
Usertags: ftbfs-gcc-14

[This bug is 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/klystrack_0.20171212-6_unstable_gccexp.log
The last lines of the build log are at the end of this report.

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

  apt-get -t=experimental install g++ 

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-14/porting_to.html

[...]
   44 | #define VER_READ(file_version, first_version, last_version, var, size) VER(file_version, first_version, last_version, SDL_RWread(ctx, var, !size ? sizeof(*var) : size, 1));
      |                                                                                                                                  ^~~
      |                                                                                                                                  |
      |                                                                                                                                  RWops *
src/macros.h:41:17: note: in definition of macro ‘VER’
   41 |                 block;\
      |                 ^~~~~
src/snd/music.c:1896:9: note: in expansion of macro ‘VER_READ’
 1896 |         VER_READ(version, 23, 0xff, &inst->fm_adsr, 0);
      |         ^~~~~~~~
/usr/include/SDL2/SDL_rwops.h:482:54: note: expected ‘SDL_RWops *’ but argument is of type ‘RWops *’
  482 | extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
      |                                           ~~~~~~~~~~~^~~~~~~
src/macros.h:44:130: error: passing argument 1 of ‘SDL_RWread’ from incompatible pointer type [-Wincompatible-pointer-types]
   44 | #define VER_READ(file_version, first_version, last_version, var, size) VER(file_version, first_version, last_version, SDL_RWread(ctx, var, !size ? sizeof(*var) : size, 1));
      |                                                                                                                                  ^~~
      |                                                                                                                                  |
      |                                                                                                                                  RWops *
src/macros.h:41:17: note: in definition of macro ‘VER’
   41 |                 block;\
      |                 ^~~~~
src/snd/music.c:1897:9: note: in expansion of macro ‘VER_READ’
 1897 |         VER_READ(version, 25, 0xff, &inst->fm_attack_start, 0);
      |         ^~~~~~~~
/usr/include/SDL2/SDL_rwops.h:482:54: note: expected ‘SDL_RWops *’ but argument is of type ‘RWops *’
  482 | extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
      |                                           ~~~~~~~~~~~^~~~~~~
src/macros.h:44:130: error: passing argument 1 of ‘SDL_RWread’ from incompatible pointer type [-Wincompatible-pointer-types]
   44 | #define VER_READ(file_version, first_version, last_version, var, size) VER(file_version, first_version, last_version, SDL_RWread(ctx, var, !size ? sizeof(*var) : size, 1));
      |                                                                                                                                  ^~~
      |                                                                                                                                  |
      |                                                                                                                                  RWops *
src/macros.h:41:17: note: in definition of macro ‘VER’
   41 |                 block;\
      |                 ^~~~~
src/snd/music.c:1898:9: note: in expansion of macro ‘VER_READ’
 1898 |         VER_READ(version, 23, 0xff, &inst->fm_wave, 0);
      |         ^~~~~~~~
/usr/include/SDL2/SDL_rwops.h:482:54: note: expected ‘SDL_RWops *’ but argument is of type ‘RWops *’
  482 | extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
      |                                           ~~~~~~~~~~~^~~~~~~
src/snd/music.c: In function ‘inner_load_fx’:
src/macros.h:44:130: error: passing argument 1 of ‘SDL_RWread’ from incompatible pointer type [-Wincompatible-pointer-types]
   44 | #define VER_READ(file_version, first_version, last_version, var, size) VER(file_version, first_version, last_version, SDL_RWread(ctx, var, !size ? sizeof(*var) : size, 1));
      |                                                                                                                                  ^~~
      |                                                                                                                                  |
      |                                                                                                                                  RWops *
src/macros.h:41:17: note: in definition of macro ‘VER’
   41 |                 block;\
      |                 ^~~~~
src/macros.h:45:28: note: in expansion of macro ‘VER_READ’
   45 | #define _VER_READ(x, size) VER_READ(version, 0, MUS_VERSION, x, size)
      |                            ^~~~~~~~
src/snd/music.c:2031:25: note: in expansion of macro ‘_VER_READ’
 2031 |                         _VER_READ(fx->name, my_min(len, sizeof(fx->name)));
      |                         ^~~~~~~~~
/usr/include/SDL2/SDL_rwops.h:482:54: note: expected ‘SDL_RWops *’ but argument is of type ‘RWops *’
  482 | extern DECLSPEC size_t SDLCALL SDL_RWread(SDL_RWops *context,
      |                                           ~~~~~~~~~~~^~~~~~~
make[4]: *** [Makefile:143: objs.release/snd_music.o] Error 1
make[4]: Leaving directory '/<<PKGBUILDDIR>>/klystron'
make[3]: *** [Makefile:86: build] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/klystron'
make[2]: *** [Makefile:136: build] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/klystrack'
dh_auto_build: error: cd klystrack && make -j8 "INSTALL=install --strip-program=true" CFG=release returned exit code 2
make[1]: *** [debian/rules:15: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:12: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

---

From: "Debian Bug Tracking System" <[email-masked]>
Date: Wed, 03 Jul 2024 12:36:54 +0000

Thank you for filing a new Bug report with Debian.

You can follow progress on this Bug here: 1075115: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075115.

This is an automatically generated reply to let you know your message
has been received.

Your message has been forwarded to the package maintainers (but not
other interested parties, as you requested) for their attention; they
will reply in due course.

Your message has been sent to the package maintainer(s):
 Debian Multimedia Maintainers <[email-masked]>

If you wish to submit further information on this problem, please
send it to [email-masked].

Please do not send mail to [email-masked] unless you wish
to report a problem with the Bug-tracking system.

-- 
1075115: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1075115
Debian Bug Tracking System
Contact [email-masked] with problems