Bug#1096873: jester: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:21:08 GMT 2025


Package: src:jester
Version: 1.0-16
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/jester_1.0-16_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

[...]
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   dh_auto_build
	make -j8 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/build/reproducible-path/jester-1.0'
gcc -Wall -O2 -g `dpkg-buildflags --get CFLAGS` `dpkg-buildflags --get CPPFLAGS` `dpkg-buildflags --get LDFLAGS` -o jester jester.c  -L/usr/X11R6/lib -lX11
jester.c: In function ‘handle_events’:
jester.c:111:8: error: too many arguments to function ‘func’; expected 0, have 1
  111 |       (*func)(&event);
      |       ~^~~~~~ ~~~~~~
jester.c: In function ‘create_board_window’:
jester.c:1049:23: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1049 |   jd->expose_function = board_expose;
      |                       ^
jester.c:495:1: note: ‘board_expose’ declared here
  495 | board_expose(XEvent *event)
      | ^~~~~~~~~~~~
jester.c: In function ‘create_exit_button’:
jester.c:1071:23: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1071 |   jd->expose_function = exit_button_expose;
      |                       ^
jester.c:787:1: note: ‘exit_button_expose’ declared here
  787 | exit_button_expose(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~
jester.c:1072:28: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1072 |   jd->buttonpress_function = exit_button_buttonpress;
      |                            ^
jester.c:818:1: note: ‘exit_button_buttonpress’ declared here
  818 | exit_button_buttonpress(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~~~~~~
jester.c: In function ‘create_score_window’:
jester.c:1090:23: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1090 |   jd->expose_function = score_window_expose;
      |                       ^
jester.c:874:1: note: ‘score_window_expose’ declared here
  874 | score_window_expose(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~~
jester.c: In function ‘create_player_id_window’:
jester.c:1110:23: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1110 |   jd->expose_function = player_id_window_expose;
      |                       ^
jester.c:907:1: note: ‘player_id_window_expose’ declared here
  907 | player_id_window_expose(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~~~~~~
jester.c:1111:28: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1111 |   jd->buttonpress_function = player_id_window_buttonpress;
      |                            ^
jester.c:955:1: note: ‘player_id_window_buttonpress’ declared here
  955 | player_id_window_buttonpress(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
jester.c: In function ‘create_square_windows’:
jester.c:1135:27: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1135 |       jd->expose_function = square_expose;
      |                           ^
jester.c:279:1: note: ‘square_expose’ declared here
  279 | square_expose(XEvent *event)
      | ^~~~~~~~~~~~~
jester.c:1136:32: error: assignment to ‘int (*)(void)’ from incompatible pointer type ‘int (*)(XEvent *)’ [-Wincompatible-pointer-types]
 1136 |       jd->buttonpress_function = square_buttonpress;
      |                                ^
jester.c:438:1: note: ‘square_buttonpress’ declared here
  438 | square_buttonpress(XEvent *event)
      | ^~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:12: jester] Error 1
make[1]: Leaving directory '/build/reproducible-path/jester-1.0'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:5: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-games-devel mailing list