Bug#1098166: xscavenger: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 18:02:33 GMT 2025


Package: src:xscavenger
Version: 1.4.5-9
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/xscavenger_1.4.5-9_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

[...]
scav.c:1382:41: error: too many arguments to function ‘func’; expected 0, have 2
 1382 |                                         func(name2,*pnt);
      |                                         ^~~~ ~~~~~
In file included from sound.c:16:
scav.h:426:15: error: conflicting types for ‘getgfx’; have ‘uchar *(int)’ {aka ‘unsigned char *(int)’}
  426 | extern uchar *getgfx(int num);
      |               ^~~~~~
scav.h:383:15: note: previous declaration of ‘getgfx’ with type ‘uchar *(void)’ {aka ‘unsigned char *(void)’}
  383 | extern uchar *getgfx();
      |               ^~~~~~
scav.c: In function ‘capturescreen’:
scav.c:2811:31: error: passing argument 4 of ‘writeiff’ from incompatible pointer type [-Wincompatible-pointer-types]
 2811 |         writeiff(name,640,480,csline,colormap);
      |                               ^~~~~~
      |                               |
      |                               void (*)(uchar *, int) {aka void (*)(unsigned char *, int)}
In file included from scav.c:18:
anim.h:63:63: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(uchar *, int)’ {aka ‘void (*)(unsigned char *, int)’}
   63 | extern int writeiff(uchar *name,int width, int height, void (*fetch)(),uchar *colors);
      |                                                        ~~~~~~~^~~~~~~~
scav.c:2793:6: note: ‘csline’ declared here
 2793 | void csline(uchar *put, int line)
      |      ^~~~~~
make[2]: *** [<builtin>: sound.o] Error 1
make[2]: *** [<builtin>: edit.o] Error 1
anim.c: In function ‘savegfx’:
anim.c:1135:30: error: passing argument 4 of ‘writeiff’ from incompatible pointer type [-Wincompatible-pointer-types]
 1135 |         writeiff(ttt,320,200,picline,(gfxsets+workingon)->gs_colormap);
      |                              ^~~~~~~
      |                              |
      |                              void (*)(char *, int)
In file included from anim.c:13:
anim.h:63:63: note: expected ‘void (*)(void)’ but argument is of type ‘void (*)(char *, int)’
   63 | extern int writeiff(uchar *name,int width, int height, void (*fetch)(),uchar *colors);
      |                                                        ~~~~~~~^~~~~~~~
anim.c:1125:6: note: ‘picline’ declared here
 1125 | void picline(char *put,int line)
      |      ^~~~~~~
anim.c: In function ‘writeiff’:
anim.c:1184:17: error: too many arguments to function ‘fetch’; expected 0, have 2
 1184 |                 fetch(trow,j);
      |                 ^~~~~ ~~~~
scav.c: In function ‘main’:
scav.c:1560:17: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1560 |                 read(file,playername,16);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~
anim.c: In function ‘lout’:
anim.c:1106:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1106 |         write(wfile,buff4,4);
      |         ^~~~~~~~~~~~~~~~~~~~
anim.c: In function ‘wout’:
anim.c:1115:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1115 |         write(wfile,buff2,2);
      |         ^~~~~~~~~~~~~~~~~~~~
anim.c: In function ‘bout’:
anim.c:1121:9: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 1121 |         write(wfile,&val,1);
      |         ^~~~~~~~~~~~~~~~~~~
make[2]: *** [<builtin>: anim.o] Error 1
scav.c: In function ‘mode3’:
scav.c:2683:25: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
 2683 |                         write(file,playername,16);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [<builtin>: scav.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/xscavenger-1.4.5/src'
dh_auto_build: error: cd src && make -j8 "INSTALL=install --strip-program=true" LIBNAME=/usr/share/games/xscavenger returned exit code 2
make[1]: *** [debian/rules:20: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/xscavenger-1.4.5'
make: *** [debian/rules:14: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-games-devel mailing list