Bug#1096758: gplanarity: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:17:23 GMT 2025
Package: src:gplanarity
Version: 17906-7
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/gplanarity_17906-7_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
[...]
| ^
gameboard.h:255:13: note: ‘expand_action’ declared here
255 | extern void expand_action(Gameboard *g);
| ^~~~~~~~~~~~~
gameboard_logic_buttonbar.c:71:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
71 | states[6].callback = shrink_action;
| ^
gameboard.h:256:13: note: ‘shrink_action’ declared here
256 | extern void shrink_action(Gameboard *g);
| ^~~~~~~~~~~~~
gameboard_logic_buttonbar.c:72:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
72 | states[7].callback = toggle_hide_lines;
| ^
gameboard.h:261:13: note: ‘toggle_hide_lines’ declared here
261 | extern void toggle_hide_lines(Gameboard *g);
| ^~~~~~~~~~~~~~~~~
gameboard_logic_buttonbar.c:73:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
73 | states[8].callback = toggle_show_intersections;
| ^
gameboard.h:263:13: note: ‘toggle_show_intersections’ declared here
263 | extern void toggle_show_intersections(Gameboard *g);
| ^~~~~~~~~~~~~~~~~~~~~~~~~
gameboard_logic_buttonbar.c:74:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
74 | states[9].callback = finish_action;
| ^
gameboard.h:254:13: note: ‘finish_action’ declared here
254 | extern void finish_action(Gameboard *g);
| ^~~~~~~~~~~~~
make[2]: *** [<builtin>: dialog_pause.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [<builtin>: gameboard_logic_buttonbar.o] Error 1
dialog_finish.c: In function ‘setup_finish_buttons’:
dialog_finish.c:84:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
84 | states[0].callback = local_quit;
| ^
dialog_finish.c:69:13: note: ‘local_quit’ declared here
69 | static void local_quit (Gameboard *g){
| ^~~~~~~~~~
dialog_finish.c:85:22: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
85 | states[1].callback = local_level;
| ^
dialog_finish.c:65:13: note: ‘local_level’ declared here
65 | static void local_level (Gameboard *g){
| ^~~~~~~~~~~
dialog_finish.c:86:23: error: assignment to ‘void (*)(void)’ from incompatible pointer type ‘void (*)(Gameboard *)’ {aka ‘void (*)(struct _Gameboard *)’} [-Wincompatible-pointer-types]
86 | states[10].callback = local_go;
| ^
dialog_finish.c:61:13: note: ‘local_go’ declared here
61 | static void local_go (Gameboard *g){
| ^~~~~~~~
make[2]: *** [<builtin>: dialog_finish.o] Error 1
gameboard_logic_mouse.c: In function ‘mouse_release’:
gameboard_logic_mouse.c:294:9: error: too many arguments to function ‘b->callback’; expected 0, have 1
294 | b->callback(g);
| ^ ~
In file included from gameboard_logic_mouse.c:38:
gameboard.h:122:10: note: declared here
122 | void (*callback)();
| ^~~~~~~~
make[2]: *** [<builtin>: gameboard_logic_mouse.o] Error 1
gameboard.c: In function ‘gameboard_realize’:
gameboard.c:131:3: warning: ignoring return value of ‘gtk_style_attach’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
131 | gtk_style_attach (widget->style, widget->window);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: Leaving directory '/build/reproducible-path/gplanarity-17906'
make[1]: *** [Makefile:61: all-local] Error 2
make[1]: Leaving directory '/build/reproducible-path/gplanarity-17906'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-games-devel
mailing list