Bug#1096804: heroes: ftbfs with GCC-15

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


Package: src:heroes
Version: 0.21-20
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/heroes_0.21-20_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

[...]
cp man/*.6 .
touch doc/heroes.texi
dh_auto_build
	make -j8
make[2]: Entering directory '/build/reproducible-path/heroes-0.21'
make  all-recursive
make[3]: Entering directory '/build/reproducible-path/heroes-0.21'
Making all in intl
make[4]: Entering directory '/build/reproducible-path/heroes-0.21/intl'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/build/reproducible-path/heroes-0.21/intl'
Making all in lib
make[4]: Entering directory '/build/reproducible-path/heroes-0.21/lib'
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o basename.o basename.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o cast.o cast.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o dirname.o dirname.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o error.o error.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o filelock.o filelock.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o fstrcmp.o fstrcmp.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o getshline.o getshline.c
gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I. -I../intl -I../src  -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/heroes-0.21=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -DNDEBUG -g -O3 -ffast-math -fstrict-aliasing -fomit-frame-pointer -c -o hash.o hash.c
getshline.c:148:1: error: conflicting types for ‘getshline_numbered’; have ‘int(int *, int *, char **, size_t *, FILE *)’ {aka ‘int(int *, int *, char **, long unsigned int *, FILE *)’}
  148 | getshline_numbered (int * firstline, int * lastline,
      | ^~~~~~~~~~~~~~~~~~
In file included from getshline.c:42:
getshline.h:54:1: note: previous declaration of ‘getshline_numbered’ with type ‘int(void)’
   54 | getshline_numbered PARAMS ((int *_firstline, int *_lastline,
      | ^~~~~~~~~~~~~~~~~~
getshline.c:156:1: error: conflicting types for ‘getshline’; have ‘int(char **, size_t *, FILE *)’ {aka ‘int(char **, long unsigned int *, FILE *)’}
  156 | getshline (char ** lineptr, size_t * n, FILE * stream)
      | ^~~~~~~~~
getshline.h:36:1: note: previous declaration of ‘getshline’ with type ‘int(void)’
   36 | getshline PARAMS ((char **_lineptr, size_t *_n, FILE *_stream));
      | ^~~~~~~~~
getshline.c:165:1: error: conflicting types for ‘getshdelim_numbered’; have ‘int(int *, int *, char **, size_t *, int,  int,  int,  FILE *)’ {aka ‘int(int *, int *, char **, long unsigned int *, int,  int,  int,  FILE *)’}
  165 | getshdelim_numbered (int * firstline, int * lastline,
      | ^~~~~~~~~~~~~~~~~~~
getshline.h:59:1: note: previous declaration of ‘getshdelim_numbered’ with type ‘int(void)’
   59 | getshdelim_numbered PARAMS ((int *_firstline, int *_lastline,
      | ^~~~~~~~~~~~~~~~~~~
getshline.c:175:1: error: conflicting types for ‘getshdelim’; have ‘int(char **, size_t *, int,  int,  int,  FILE *)’ {aka ‘int(char **, long unsigned int *, int,  int,  int,  FILE *)’}
  175 | getshdelim (char ** lineptr, size_t * n,
      | ^~~~~~~~~~
getshline.h:39:1: note: previous declaration of ‘getshdelim’ with type ‘int(void)’
   39 | getshdelim PARAMS ((char **_lineptr, size_t *_n,
      | ^~~~~~~~~~
make[4]: *** [Makefile:507: getshline.o] Error 1
make[4]: *** Waiting for unfinished jobs....
fstrcmp.c: In function ‘diag’:
fstrcmp.c:161:1: warning: old-style function definition [-Wold-style-definition]
  161 | diag (xoff, xlim, yoff, ylim, minimal, part)
      | ^~~~
fstrcmp.c: In function ‘compareseq’:
fstrcmp.c:488:1: warning: old-style function definition [-Wold-style-definition]
  488 | compareseq (xoff, xlim, yoff, ylim, minimal)
      | ^~~~~~~~~~
fstrcmp.c: In function ‘fstrcmp’:
fstrcmp.c:581:1: warning: old-style function definition [-Wold-style-definition]
  581 | fstrcmp (string1, string2)
      | ^~~~~~~
make[4]: Leaving directory '/build/reproducible-path/heroes-0.21/lib'
make[3]: *** [Makefile:535: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/heroes-0.21'
make[2]: *** [Makefile:473: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/heroes-0.21'
dh_auto_build: error: make -j8 returned exit code 2
make[1]: *** [debian/rules:27: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/heroes-0.21'
make: *** [debian/rules:6: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Pkg-games-devel mailing list