Bug#1096778: greed: ftbfs with GCC-15

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


Package: src:greed
Version: 4.3-2
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/greed_4.3-2_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[1]: Entering directory '/build/reproducible-path/greed-4.3'
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/greed-4.3=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro -DSCOREFILE=\"/var/games/greed/greed.hs\" -DRELEASE=\"4.3\" -o greed greed.c -O3 -lcurses
greed.c: In function ‘quit’:
greed.c:123:26: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘__sighandler_t’ {aka ‘void (*)(int)’} [-Wincompatible-pointer-types]
  123 |         void (*osig)() = signal(SIGINT, SIG_IGN); /* save old signal */
      |                          ^~~~~~
In file included from greed.c:53:
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
greed.c:130:46: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
  130 |                         (void)signal(SIGINT, osig); /* reset old signal */
      |                                              ^~~~
      |                                              |
      |                                              void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
greed.c:131:47: error: passing argument 2 of ‘signal’ from incompatible pointer type [-Wincompatible-pointer-types]
  131 |                         (void)signal(SIGQUIT, osig);
      |                                               ^~~~
      |                                               |
      |                                               void (*)(void)
/usr/include/signal.h:88:57: note: expected ‘__sighandler_t’ {aka ‘void (*)(int)’} but argument is of type ‘void (*)(void)’
   88 | extern __sighandler_t signal (int __sig, __sighandler_t __handler)
      |                                          ~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/signal.h:72:16: note: ‘__sighandler_t’ declared here
   72 | typedef void (*__sighandler_t) (int);
      |                ^~~~~~~~~~~~~~
greed.c: In function ‘topscores’:
greed.c:576:22: error: conflicting types for ‘getenv’; have ‘char *(void)’
  576 |         extern char *getenv(), *tgetstr();
      |                      ^~~~~~
In file included from greed.c:55:
/usr/include/stdlib.h:773:14: note: previous declaration of ‘getenv’ with type ‘char *(const char *)’
  773 | extern char *getenv (const char *__name) __THROW __nonnull ((1)) __wur;
      |              ^~~~~~
greed.c:576:33: error: conflicting types for ‘tgetstr’; have ‘char *(void)’
  576 |         extern char *getenv(), *tgetstr();
      |                                 ^~~~~~~
In file included from greed.c:57:
/usr/include/term.h:850:31: note: previous declaration of ‘tgetstr’ with type ‘char *(const char *, char **)’
  850 | extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
      |                               ^~~~~~~
greed.c:638:36: error: too many arguments to function ‘getenv’; expected 0, have 1
  638 |         if (new &&tgetent(termbuf, getenv("TERM")) > 0) {
      |                                    ^~~~~~ ~~~~~~
greed.c:576:22: note: declared here
  576 |         extern char *getenv(), *tgetstr();
      |                      ^~~~~~
greed.c:640:26: error: too many arguments to function ‘tgetstr’; expected 0, have 2
  640 |                 boldon = tgetstr("so", &tptr);
      |                          ^~~~~~~ ~~~~
greed.c:576:33: note: declared here
  576 |         extern char *getenv(), *tgetstr();
      |                                 ^~~~~~~
greed.c:641:27: error: too many arguments to function ‘tgetstr’; expected 0, have 2
  641 |                 boldoff = tgetstr("se", &tptr);
      |                           ^~~~~~~ ~~~~
greed.c:576:33: note: declared here
  576 |         extern char *getenv(), *tgetstr();
      |                                 ^~~~~~~
make[1]: *** [Makefile:10: greed] Error 1
make[1]: Leaving directory '/build/reproducible-path/greed-4.3'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:5: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Pkg-games-devel mailing list