Package: src:xfrisk
Version: 1.2-9
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/xfrisk_1.2-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

[...]
      |                         ^
aiConway.c: In function ‘CNT_BestDefended’:
aiConway.c:343:25: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  343 |   CLIST_Evaluate (have, (EvalFunc)CNT_Vulnerability);
      |                         ^
aiClientMain.c: In function ‘CBK_IncomingMessage’:
aiClientMain.c:500:47: warning: cast to pointer from integer of different size 
[-Wint-to-pointer-cast]
  500 |             __AI_Callback(NULL, AI_INIT_GAME, (void *)iSpeciesID);
      |                                               ^
aiConway.c: In function ‘find_nearest’:
aiConway.c:485:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  485 |   CLIST_Evaluate (pAllCountries, (EvalFunc)CNT_SetZeroFlag);
      |                                  ^
aiConway.c:502:23: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  502 |                       (EvalFunc)CNT_AddIfConquerable);
      |                       ^
aiConway.c: In function ‘find_destination’:
aiConway.c:552:38: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  552 |   CLIST_Evaluate (pDesiredCountries, (EvalFunc)CNT_IsNearest);
      |                                      ^
aiConway.c: In function ‘CLIST_CalculateUsefulness’:
aiConway.c:700:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  700 |   CLIST_Evaluate (pAllCountries, (EvalFunc)CNT_SetZeroNearness);
      |                                  ^
aiConway.c:701:38: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  701 |   CLIST_Evaluate (pDesiredCountries, (EvalFunc)do_nearness);
      |                                      ^
aiConway.c:702:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  702 |   CLIST_Evaluate (pAllCountries, (EvalFunc)CNT_CalculateUsefulness);
      |                                  ^
aiConway.c: In function ‘CNT_IsAdjacent’:
aiConway.c:752:57: error: passing argument 2 of ‘CLIST_Extract’ from 
incompatible pointer type [-Wincompatible-pointer-types]
  752 |   country->adjacentlist = CLIST_Extract (pAllCountries, 
CNT_NextToSaved);
      |                                                         ^~~~~~~~~~~~~~~
      |                                                         |
      |                                                         int (*)(COUNTRY 
*) {aka int (*)(struct country *)}
aiConway.c:209:54: note: expected ‘int (*)(void)’ but argument is of type ‘int 
(*)(COUNTRY *)’ {aka ‘int (*)(struct country *)’}
  209 | COUNTRYLIST *CLIST_Extract (COUNTRYLIST *from, int (*function)())
      |                                                ~~~~~~^~~~~~~~~~~
aiConway.c:196:5: note: ‘CNT_NextToSaved’ declared here
  196 | int CNT_NextToSaved (COUNTRY *country)
      |     ^~~~~~~~~~~~~~~
aiConway.c: In function ‘make_wholelist’:
aiConway.c:805:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  805 |   CLIST_Evaluate (pAllCountries, (EvalFunc)CNT_IsAdjacent);
      |                                  ^
aiConway.c:808:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  808 |   CLIST_Evaluate (pAllCountries, (EvalFunc)CNT_IsCritical);
      |                                  ^
aiConway.c: In function ‘redistribute_last’:
aiConway.c:836:34: warning: cast between incompatible function types from ‘void 
(*)(COUNTRY *)’ {aka ‘void (*)(struct country *)’} to ‘int (*)(COUNTRY *)’ {aka 
‘int (*)(struct country *)’} [-Wcast-function-type]
  836 |   CLIST_Evaluate (pAllCountries, (EvalFunc)reown);
      |                                  ^
make[1]: *** [<builtin>: aiConway.o] Error 1
make[1]: *** Waiting for unfinished jobs....
aiColson.c: In function ‘GetContinentToConquier’:
aiColson.c:677:23: warning: variable ‘bonus’ set but not used 
[-Wunused-but-set-variable]
  677 |   Int32  i, min, max, bonus, continent;
      |                       ^~~~~
aiColson.c:677:18: warning: variable ‘max’ set but not used 
[-Wunused-but-set-variable]
  677 |   Int32  i, min, max, bonus, continent;
      |                  ^~~
aiColson.c: In function ‘COLSON_Play’:
aiColson.c:1811:18: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
 1811 |         InitGame((Int32)pArgs);
      |                  ^
make[1]: Leaving directory '/build/reproducible-path/xfrisk-1.2'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned 
exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

Reply via email to