Bug#1097983: tetrinetx: ftbfs with GCC-15

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


Package: src:tetrinetx
Version: 1.13.16-17
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/tetrinetx_1.13.16-17_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

[...]
      |                         ~~~~~~~~~~~~~~~~~~~~~~^~~~~
src/net.c: In function ‘open_listen’:
src/net.c:328:5: warning: old-style function definition [-Wold-style-definition]
  328 | int open_listen(port)
      |     ^~~~~~~~~~~
src/net.c: In function ‘hostnamefromip’:
src/net.c:337:7: warning: old-style function definition [-Wold-style-definition]
  337 | char *hostnamefromip(ip)
      |       ^~~~~~~~~~~~~~
src/net.c: In function ‘answer’:
src/net.c:357:5: warning: old-style function definition [-Wold-style-definition]
  357 | int answer(sock,ip,binary)
      |     ^~~~~~
src/net.c:362:49: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness [-Wpointer-sign]
  362 |   new_sock=accept(sock,(struct sockaddr *)&from,&addrlen);
      |                                                 ^~~~~~~~
      |                                                 |
      |                                                 int *
/usr/include/x86_64-linux-gnu/sys/socket.h:307:42: note: expected ‘socklen_t * restrict’ {aka ‘unsigned int * restrict’} but argument is of type ‘int *’
  307 |                    socklen_t *__restrict __addr_len);
      |                    ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
src/net.c: In function ‘sockread’:
src/net.c:384:5: warning: old-style function definition [-Wold-style-definition]
  384 | int sockread(s,len,socket_list)
      |     ^~~~~~~~
src/net.c: In function ‘sockgets’:
src/net.c:474:5: warning: old-style function definition [-Wold-style-definition]
  474 | int sockgets(s,len)
      |     ^~~~~~~~
src/net.c: In function ‘tputs’:
src/net.c:582:6: warning: old-style function definition [-Wold-style-definition]
  582 | void tputs(z,s)
      |      ^~~~~
In file included from src/main.c:36:
src/game.c: In function ‘read_banlist’:
src/game.c:1101:21: warning: the comparison will always evaluate as ‘false’ for the address of ‘ban_str’ will never be NULL [-Waddress]
 1101 |         if (ban_str == NULL) break;
      |                     ^~
src/game.c:1092:10: note: ‘ban_str’ declared here
 1092 |     char ban_str[UHOSTLEN+1];
      |          ^~~~~~~
src/game.c: In function ‘read_allowlist’:
src/game.c:1118:12: warning: variable ‘allow’ set but not used [-Wunused-but-set-variable]
 1118 |     int i, allow;
      |            ^~~~~
src/game.c: In function ‘sendwinlist’:
src/game.c:1269:22: warning: pointer targets in assignment from ‘char *’ to ‘unsigned char *’ differ in signedness [-Wpointer-sign]
 1269 |                     P=w[j].name;
      |                      ^
src/main.c: In function ‘net_query_cwhois’:
src/main.c:2671:19: warning: variable ‘argc’ set but not used [-Wunused-but-set-variable]
 2671 |         int idle, argc, found;
      |                   ^~~~
src/main.c: In function ‘net_query_cwho’:
src/main.c:2752:37: warning: variable ‘found’ set but not used [-Wunused-but-set-variable]
 2752 |         int argc, plen, i,  cmdnum, found, nusers, nchans, done;
      |                                     ^~~~~
src/main.c: In function ‘net_query_creadaccesslist’:
src/main.c:3325:9: error: too many arguments to function ‘init_allowlist’; expected 0, have 2
 3325 |         init_allowlist(allowlist, MAXALLOW);
      |         ^~~~~~~~~~~~~~ ~~~~~~~~~
src/game.c:1042:6: note: declared here
 1042 | void init_allowlist()
      |      ^~~~~~~~~~~~~~
src/main.c: In function ‘check_timeouts’:
src/main.c:4863:9: warning: variable ‘found’ set but not used [-Wunused-but-set-variable]
 4863 |     int found,i;
      |         ^~~~~
make: *** [debian/rules:33: bin/tetrinetx] Error 1
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Pkg-games-devel mailing list