Bug#1097761: qxw: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:49:32 GMT 2025


Package: src:qxw
Version: 20200708-2
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/qxw_20200708-2_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

[...]
      |             ^~~~~~~~~
gui.c:3502:85: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, void *)’ {aka ‘void (*)(struct _GtkWidget *, void *)’} [-Wincompatible-pointer-types]
 3502 |  { "/Autofill/Interactive assistance/_Light only",             0,                   m_ifamode,      0x0501,   "/Autofill/Interactive assistance/Off",         0                       },
      |                                                                                     ^~~~~~~~~
gui.c:3502:85: note: (near initialization for ‘menu_items[188].callback’)
gui.c:338:13: note: ‘m_ifamode’ declared here
  338 | static void m_ifamode(GtkWidget*w,gpointer data)      {
      |             ^~~~~~~~~
gui.c:3503:85: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, void *)’ {aka ‘void (*)(struct _GtkWidget *, void *)’} [-Wincompatible-pointer-types]
 3503 |  { "/Autofill/Interactive assistance/_Entire grid",            0,                   m_ifamode,      0x0502,   "/Autofill/Interactive assistance/Light only",  0                       },
      |                                                                                     ^~~~~~~~~
gui.c:3503:85: note: (near initialization for ‘menu_items[189].callback’)
gui.c:338:13: note: ‘m_ifamode’ declared here
  338 | static void m_ifamode(GtkWidget*w,gpointer data)      {
      |             ^~~~~~~~~
gui.c:3504:85: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, void *)’ {aka ‘void (*)(struct _GtkWidget *, void *)’} [-Wincompatible-pointer-types]
 3504 |  { "/Autofill/Accept _hints",                                  "<control>A",        m_accept,       0,        0,                                              0                       },
      |                                                                                     ^~~~~~~~
gui.c:3504:85: note: (near initialization for ‘menu_items[190].callback’)
gui.c:669:13: note: ‘m_accept’ declared here
  669 | static void m_accept(GtkWidget*w,gpointer data) {
      |             ^~~~~~~~
gui.c:3506:85: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, void *)’ {aka ‘void (*)(struct _GtkWidget *, void *)’} [-Wincompatible-pointer-types]
 3506 |  { "/Autofill/_Unban all answers",                             0,                   m_unban,        0,        0,                                              0                       },
      |                                                                                     ^~~~~~~
gui.c:3506:85: note: (near initialization for ‘menu_items[192].callback’)
gui.c:704:13: note: ‘m_unban’ declared here
  704 | static void m_unban(GtkWidget*w,gpointer data) {
      |             ^~~~~~~
gui.c:3508:85: error: initialization of ‘void (*)(void)’ from incompatible pointer type ‘void (*)(GtkWidget *, void *)’ {aka ‘void (*)(struct _GtkWidget *, void *)’} [-Wincompatible-pointer-types]
 3508 |  { "/Help/_About",                                             0,                   m_helpabout,    0,        "<StockItem>",                                  GTK_STOCK_ABOUT         },
      |                                                                                     ^~~~~~~~~~~
gui.c:3508:85: note: (near initialization for ‘menu_items[194].callback’)
gui.c:944:13: note: ‘m_helpabout’ declared here
  944 | static void m_helpabout(GtkWidget*w,gpointer data) {char s[4000];
      |             ^~~~~~~~~~~
make[1]: *** [Makefile:45: gui.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /usr/include/string.h:548,
                 from qxw.c:27:
In function ‘strcat’,
    inlined from ‘abmtocs’ at qxw.c:1394:5:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:140:10: warning: ‘__builtin_strcat’ offset [1072, 34359738352] is out of the bounds [0, 992] of object ‘icctoutf8’ with type ‘char[62][16]’ [-Warray-bounds=]
  140 |   return __builtin___strcat_chk (__dest, __src, __glibc_objsize (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from qxw.c:52:
dicts.h: In function ‘abmtocs’:
dicts.h:75:13: note: ‘icctoutf8’ declared here
   75 | extern char icctoutf8[MAXICC+1][16]; // convert internal character code to UTF-8 string of canonical representative, 0-terminated
      |             ^~~~~~~~~
qxw.c: In function ‘a_load’:
qxw.c:1858:9: warning: ‘__builtin_strncpy’ output may be truncated copying 30 bytes from a string of length 3998 [-Wstringop-truncation]
 1858 |         strncpy(gsq[i][j].sp.mk[k],s+1,MXMK);
      |         ^
qxw.c:1819:9: warning: ‘__builtin_strncpy’ output may be truncated copying 999 bytes from a string of length 3998 [-Wstringop-truncation]
 1819 |         strncpy(dafilters[j],s+1,SLEN-1);
      |         ^
qxw.c:1809:9: warning: ‘__builtin_strncpy’ output may be truncated copying 999 bytes from a string of length 3998 [-Wstringop-truncation]
 1809 |         strncpy(dsfilters[j],s+1,SLEN-1);
      |         ^
qxw.c:1799:9: warning: ‘__builtin_strncpy’ output may be truncated copying 999 bytes from a string of length 3998 [-Wstringop-truncation]
 1799 |         strncpy(dfnames[j],s+1,SLEN-1);
      |         ^
qxw.c:1755:9: warning: ‘__builtin_strncpy’ output may be truncated copying 30 bytes from a string of length 3998 [-Wstringop-truncation]
 1755 |         strncpy(dsp.mk[k],s+1,MXMK);
      |         ^
make[1]: Leaving directory '/build/reproducible-path/qxw-20200708'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-games-devel mailing list