Package: src:sjeng
Version: 11.2-14
Severity: important
Tags: sid forky
User: debian-...@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/sjeng_11.2-14_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

[...]
      |                  ^~~~~~~~
seval.c:42:18: warning: ‘rook_o’ defined but not used [-Wunused-const-variable=]
   42 | static const int rook_o[4] = {12, -12, 1, -1};
      |                  ^~~~~~
sjeng.h:103:28: warning: useless type name in empty declaration
make[3]: *** [Makefile:490: seval.o] Error 1
ttable.c: In function ‘ProbeTT’:
ttable.c:245:31: warning: unused parameter ‘alpha’ [-Wunused-parameter]
  245 | int ProbeTT(long *score, long alpha, long beta, int *best, int *threat, 
int *donull, int depth)
      |                          ~~~~~^~~~~
ttable.c: In function ‘QProbeTT’:
ttable.c:331:32: warning: unused parameter ‘alpha’ [-Wunused-parameter]
  331 | int QProbeTT(long *score, long alpha, long beta, int *best)
      |                           ~~~~~^~~~~
ttable.c:331:44: warning: unused parameter ‘beta’ [-Wunused-parameter]
  331 | int QProbeTT(long *score, long alpha, long beta, int *best)
      |                                       ~~~~~^~~~
In file included from partner.c:24:
sjeng.h:103:28: error: expected ‘;’, identifier or ‘(’ before ‘bool’
  103 | typedef enum {FALSE, TRUE} bool;
      |                            ^~~~
sjeng.h:103:28: warning: useless type name in empty declaration
make[3]: *** [Makefile:490: ttable.o] Error 1
In file included from attacks.c:24:
sjeng.h:103:28: error: expected ‘;’, identifier or ‘(’ before ‘bool’
  103 | typedef enum {FALSE, TRUE} bool;
      |                            ^~~~
sjeng.h:103:28: warning: useless type name in empty declaration
In file included from learn.c:24:
sjeng.h:103:28: error: expected ‘;’, identifier or ‘(’ before ‘bool’
  103 | typedef enum {FALSE, TRUE} bool;
      |                            ^~~~
sjeng.h:103:28: warning: useless type name in empty declaration
learn.c: In function ‘Learn’:
learn.c:67:3: warning: ignoring return value of ‘fread’ declared with attribute 
‘warn_unused_result’ [-Wunused-result]
   67 |   fread(&number, sizeof(int), 1, *lrnfile);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
learn.c:68:3: warning: ignoring return value of ‘fread’ declared with attribute 
‘warn_unused_result’ [-Wunused-result]
   68 |   fread(&next, sizeof(int), 1, *lrnfile);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
learn.c: In function ‘LoadLearn’:
learn.c:128:3: warning: ignoring return value of ‘fread’ declared with 
attribute ‘warn_unused_result’ [-Wunused-result]
  128 |   fread(&number, sizeof(int), 1, *lrnfile);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
learn.c:133:7: warning: ignoring return value of ‘fread’ declared with 
attribute ‘warn_unused_result’ [-Wunused-result]
  133 |       fread(&draft, sizeof(LearnType), 1, *lrnfile);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:490: learn.o] Error 1
make[3]: *** [Makefile:490: attacks.o] Error 1
In file included from book.c:26:
sjeng.h:103:28: error: expected ‘;’, identifier or ‘(’ before ‘bool’
  103 | typedef enum {FALSE, TRUE} bool;
      |                            ^~~~
sjeng.h:103:28: warning: useless type name in empty declaration
make[3]: *** [Makefile:490: partner.o] Error 1
In file included from crazy.c:25:
sjeng.h:103:28: error: expected ‘;’, identifier or ‘(’ before ‘bool’
  103 | typedef enum {FALSE, TRUE} bool;
      |                            ^~~~
sjeng.h:103:28: warning: useless type name in empty declaration
make[3]: *** [Makefile:490: book.o] Error 1
make[3]: *** [Makefile:490: crazy.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/sjeng-11.2'
make[2]: *** [Makefile:506: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/sjeng-11.2'
make[1]: *** [Makefile:350: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/sjeng-11.2'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:27: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to