Bug#1096660: frotz: ftbfs with GCC-15
Matthias Klose
doko at debian.org
Mon Feb 17 17:14:14 GMT 2025
Package: src:frotz
Version: 2.55+dfsg-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/frotz_2.55+dfsg-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
[...]
make[2]: *** Waiting for unfinished jobs....
make -C src/blorb
make[3]: Entering directory '/build/reproducible-path/frotz-2.55+dfsg/src/blorb'
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -I../common -fPIC -fpic -o blorblib.o -c blorblib.c
In file included from blorblib.c:11:
../common/frotz.h:50:13: error: ‘bool’ cannot be defined via ‘typedef’
50 | typedef int bool;
| ^~~~
../common/frotz.h:50:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../common/frotz.h:50:1: warning: useless type name in empty declaration
50 | typedef int bool;
| ^~~~~~~
make[3]: *** [Makefile:26: blorblib.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/frotz-2.55+dfsg/src/blorb'
make[2]: *** [Makefile:575: src/blorb/blorblib.a] Error 2
make -C src/dumb
make[3]: Entering directory '/build/reproducible-path/frotz-2.55+dfsg/src/dumb'
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fPIC -fpic -o dblorb.o -c dblorb.c
In file included from dfrotz.h:14,
from dblorb.c:23:
../common/frotz.h:50:13: error: ‘bool’ cannot be defined via ‘typedef’
50 | typedef int bool;
| ^~~~
../common/frotz.h:50:13: note: ‘bool’ is a keyword with ‘-std=c23’ onwards
../common/frotz.h:50:1: warning: useless type name in empty declaration
50 | typedef int bool;
| ^~~~~~~
dblorb.c: In function ‘isblorb’:
dblorb.c:157:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
157 | fread(mybuf, 1, 4, fp);
| ^~~~~~~~~~~~~~~~~~~~~~
dblorb.c:162:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
162 | fread(mybuf, 1, 4, fp);
| ^~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:24: dblorb.o] Error 1
make[3]: Leaving directory '/build/reproducible-path/frotz-2.55+dfsg/src/dumb'
make[2]: *** [Makefile:572: src/dumb/frotz_dumb.a] Error 2
make -C src/curses
make[3]: Entering directory '/build/reproducible-path/frotz-2.55+dfsg/src/curses'
** Generating ux_defines.h
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_audio_oss.o -c ux_audio_oss.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_audio_none.o -c ux_audio_none.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_blorb.o -c ux_blorb.c
ux_blorb.c: In function ‘isblorb’:
ux_blorb.c:194:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
194 | fread(mybuf, 1, 4, fp);
| ^~~~~~~~~~~~~~~~~~~~~~
ux_blorb.c:199:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
199 | fread(mybuf, 1, 4, fp);
| ^~~~~~~~~~~~~~~~~~~~~~
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_text.o -c ux_text.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_screen.o -c ux_screen.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_pic.o -c ux_pic.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_audio.o -c ux_audio.c
ux_audio.c: In function ‘getfiledata’:
ux_audio.c:210:9: warning: ignoring return value of ‘fread’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
210 | fread(data, *size, sizeof(char), fp);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_init.o -c ux_init.c
cc -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -fPIC -fpic -o ux_input.o -c ux_input.c
ar rc frotz_curses.a ux_audio.o ux_audio_none.o ux_audio_oss.o ux_blorb.o ux_init.o ux_input.o ux_pic.o ux_screen.o ux_text.o
/usr/bin/ranlib frotz_curses.a
** Done with curses interface.
make[3]: Leaving directory '/build/reproducible-path/frotz-2.55+dfsg/src/curses'
make[2]: Leaving directory '/build/reproducible-path/frotz-2.55+dfsg'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" BINDIR=/usr/games "CFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/frotz-2.55+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection" curses dumb sdl PKGCONF_BIN=x86_64-linux-gnu-pkgconf returned exit code 2
make[1]: *** [debian/rules:15: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/frotz-2.55+dfsg'
make: *** [debian/rules:12: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
More information about the Pkg-games-devel
mailing list