[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/mah-jong_1.16-1_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
[...]
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
73 | GTimeVal last_popdown;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:30:
/usr/include/glib-2.0/glib/gtypes.h:580:8: note: declared here
580 | struct _GTimeVal
| ^~~~~~~~~
In file included from /usr/include/gtk-2.0/gtk/gtktoolitem.h:31,
from /usr/include/gtk-2.0/gtk/gtktoolbutton.h:30,
from /usr/include/gtk-2.0/gtk/gtkmenutoolbutton.h:30,
from /usr/include/gtk-2.0/gtk/gtk.h:126:
/usr/include/gtk-2.0/gtk/gtktooltips.h:73:3: warning: ‘GTimeVal’ is deprecated: Use 'GDateTime' instead [-Wdeprecated-declarations]
73 | GTimeVal last_popdown;
| ^~~~~~~~
In file included from /usr/include/glib-2.0/glib/galloca.h:34,
from /usr/include/glib-2.0/glib.h:32,
from /usr/include/glib-2.0/gobject/gbinding.h:30:
/usr/include/glib-2.0/glib/gtypes.h:580:8: note: declared here
580 | struct _GTimeVal
| ^~~~~~~~~
In file included from game.h:29,
from client.h:20,
from gui.h:23:
protocol.h:29:13: error: ‘bool’ cannot be defined via ‘typedef’
29 | typedef int bool;
| ^~~~
protocol.h:29:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
protocol.h:29:1: warning: useless type name in empty declaration
29 | typedef int bool;
| ^~~~~~~
In file included from game.h:29,
from client.h:20,
from gui.h:23:
protocol.h:29:13: error: ‘bool’ cannot be defined via ‘typedef’
29 | typedef int bool;
| ^~~~
protocol.h:29:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
protocol.h:29:1: warning: useless type name in empty declaration
29 | typedef int bool;
| ^~~~~~~
gui-dial.c: In function ‘chooser_callback’:
gui-dial.c:1194:7: warning: ignoring return value of ‘getcwd’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
1194 | getcwd(cbuf,2*PATH_MAX);
| ^~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [<builtin>: gui-dial.o] Error 1
gui.c: In function ‘open_connection’:
gui.c:3438:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
3438 | fgets(buf2,255,serverstream);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
gui.c: In function ‘read_or_update_rcfile’:
gui.c:4388:7: warning: ignoring return value of ‘fgets’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
4388 | fgets(inbuf,1024,ncf);
| ^~~~~~~~~~~~~~~~~~~~~
make[1]: *** [<builtin>: gui.o] Error 1
player.c: In function ‘player_print_state’:
player.c:1151:15: warning: ‘
hand_score: ’ directive writing 13 bytes into a region of size between 5 and 184 [-Wformat-overflow=]
1151 | sprintf(buf,"Player:\n"
| ^~~~~~~~~~~
player.c:1158:22: note: format string is defined here
1158 | "cumulative_score: %d\n"
| ^~~
1159 | "hand_score: %d\n"
| ~~~~~~~~~~~~~
make[1]: Leaving directory '/build/reproducible-path/mah-jong-1.16'
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