Bug#1097308: lmemory: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:35:04 GMT 2025


Package: src:lmemory
Version: 0.6c-13
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/lmemory_0.6c-13_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

[...]
   28 |   { "/Game/_New",     "<control>N", lmem_Newgame, 1, NULL },
      |                                     ^~~~~~~~~~~~
lmem_menu.c:28:37: note: (near initialization for ‘menu_items[1].callback’)
In file included from lmem_menu.c:3:
lmem_menu.h:1:6: note: ‘lmem_Newgame’ declared here
    1 | void lmem_Newgame    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~~~
lmem_menu.c:32:34: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   32 |   { "/Level/Little One",  NULL,  lmem_Level, 2, NULL },
      |                                  ^~~~~~~~~~
lmem_menu.c:32:34: note: (near initialization for ‘menu_items[5].callback’)
lmem_menu.h:2:6: note: ‘lmem_Level’ declared here
    2 | void lmem_Level    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~
lmem_menu.c:33:32: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   33 |   { "/Level/Beginner",  NULL,  lmem_Level, 3, NULL },
      |                                ^~~~~~~~~~
lmem_menu.c:33:32: note: (near initialization for ‘menu_items[6].callback’)
lmem_menu.h:2:6: note: ‘lmem_Level’ declared here
    2 | void lmem_Level    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~
lmem_menu.c:34:31: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   34 |   { "/Level/Skilled",  NULL,  lmem_Level, 4, NULL },
      |                               ^~~~~~~~~~
lmem_menu.c:34:31: note: (near initialization for ‘menu_items[7].callback’)
lmem_menu.h:2:6: note: ‘lmem_Level’ declared here
    2 | void lmem_Level    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~
lmem_menu.c:35:30: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   35 |   { "/Level/Master",  NULL,  lmem_Level, 5, NULL },
      |                              ^~~~~~~~~~
lmem_menu.c:35:30: note: (near initialization for ‘menu_items[8].callback’)
lmem_menu.h:2:6: note: ‘lmem_Level’ declared here
    2 | void lmem_Level    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~
lmem_menu.c:36:30: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   36 |   { "/Level/Daemon",  NULL,  lmem_Level, 6, NULL },
      |                              ^~~~~~~~~~
lmem_menu.c:36:30: note: (near initialization for ‘menu_items[9].callback’)
lmem_menu.h:2:6: note: ‘lmem_Level’ declared here
    2 | void lmem_Level    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~
lmem_menu.c:38:39: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   38 |   { "/Options/Match 3 Cards",  NULL,  lmem_Set_Option, 7, "<ToggleItem>" },
      |                                       ^~~~~~~~~~~~~~~
lmem_menu.c:38:39: note: (near initialization for ‘menu_items[11].callback’)
lmem_menu.h:3:6: note: ‘lmem_Set_Option’ declared here
    3 | void lmem_Set_Option    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~~~~~~
lmem_menu.c:39:41: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, guint,  GtkWidget *)’ {aka ‘void (*)(struct _GtkWidget *, unsigned int,  struct _GtkWidget *)’} [-Wincompatible-pointer-types]
   39 |   { "/Options/Different Cards",  NULL,  lmem_Set_Option, 8, "<ToggleItem>" },
      |                                         ^~~~~~~~~~~~~~~
lmem_menu.c:39:41: note: (near initialization for ‘menu_items[12].callback’)
lmem_menu.h:3:6: note: ‘lmem_Set_Option’ declared here
    3 | void lmem_Set_Option    (GtkWidget *window, guint callback_action, GtkWidget *widget);
      |      ^~~~~~~~~~~~~~~
make[3]: *** [Makefile:523: lmem_menu.o] Error 1
make[3]: *** Waiting for unfinished jobs....
mmain.c: In function ‘main’:
mmain.c:31:7: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   31 |       asprintf (&lmem_image_dir, "%s/pixmaps/", DATADIR);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: Leaving directory '/build/reproducible-path/lmemory-0.6c'
make[2]: *** [Makefile:555: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/lmemory-0.6c'
make[1]: *** [Makefile:396: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/lmemory-0.6c'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:10: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-games-devel mailing list