Bug#1096681: gbsplay: ftbfs with GCC-15
Package: src:gbsplay
Version: 0.0.97-1
Severity: important
Tags: sid forky
User: debian-gcc@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/gbsplay_0.0.97-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
[...]
DEP terminal_posix.c -o terminal_posix.d
CC=gcc ./depend.sh terminal_posix.c config.mk > terminal_posix.d || rm -f terminal_posix.d
DEP filewriter.c -o filewriter.d
CC=gcc ./depend.sh filewriter.c config.mk > filewriter.d || rm -f filewriter.d
DEP midifile.c -o midifile.d
CC=gcc ./depend.sh midifile.c config.mk > midifile.d || rm -f midifile.d
DEP plugout_alsa.c -o plugout_alsa.d
CC=gcc ./depend.sh plugout_alsa.c config.mk > plugout_alsa.d || rm -f plugout_alsa.d
DEP plugout_altmidi.c -o plugout_altmidi.d
CC=gcc ./depend.sh plugout_altmidi.c config.mk > plugout_altmidi.d || rm -f plugout_altmidi.d
DEP plugout_devdsp.c -o plugout_devdsp.d
CC=gcc ./depend.sh plugout_devdsp.c config.mk > plugout_devdsp.d || rm -f plugout_devdsp.d
DEP plugout_iodumper.c -o plugout_iodumper.d
CC=gcc ./depend.sh plugout_iodumper.c config.mk > plugout_iodumper.d || rm -f plugout_iodumper.d
DEP plugout_midi.c -o plugout_midi.d
CC=gcc ./depend.sh plugout_midi.c config.mk > plugout_midi.d || rm -f plugout_midi.d
DEP plugout_nas.c -o plugout_nas.d
CC=gcc ./depend.sh plugout_nas.c config.mk > plugout_nas.d || rm -f plugout_nas.d
DEP plugout_pulse.c -o plugout_pulse.d
CC=gcc ./depend.sh plugout_pulse.c config.mk > plugout_pulse.d || rm -f plugout_pulse.d
DEP plugout_stdout.c -o plugout_stdout.d
CC=gcc ./depend.sh plugout_stdout.c config.mk > plugout_stdout.d || rm -f plugout_stdout.d
DEP plugout_vgm.c -o plugout_vgm.d
CC=gcc ./depend.sh plugout_vgm.c config.mk > plugout_vgm.d || rm -f plugout_vgm.d
DEP plugout_wav.c -o plugout_wav.d
CC=gcc ./depend.sh plugout_wav.c config.mk > plugout_wav.d || rm -f plugout_wav.d
DEP gbsinfo.c -o gbsinfo.d
CC=gcc ./depend.sh gbsinfo.c config.mk > gbsinfo.d || rm -f gbsinfo.d
DEP xgbsplay.c -o xgbsplay.d
CC=gcc ./depend.sh xgbsplay.c config.mk > xgbsplay.d || rm -f xgbsplay.d
Makefile:308: warning: undefined variable 'ojbs_gbs2gb'
Makefile:311: warning: undefined variable 'ojbs_gbs2gb'
Makefile:312: warning: undefined variable 'ojbs_gbs2gb'
CC gbcpu.c -o gbcpu.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o gbcpu.o gbcpu.c
CC gbhw.c -o gbhw.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o gbhw.o gbhw.c
gbhw.c:66:27: warning: overflow in conversion from ‘int’ to ‘char’ changes value from ‘252’ to ‘-4’ [-Woverflow]
66 | 0x02, 0x03, 0x0f, 0xfc
| ^~~~
gbhw.c: In function ‘gb_sound’:
gbhw.c:647:26: warning: ISO C forbids braced-groups within expressions [-Wpedantic]
647 | #define GET_NIBBLE(p, n) ({ \
| ^
gbhw.c:760:57: note: in expansion of macro ‘GET_NIBBLE’
760 | gbhw->ch3_next_nibble = GET_NIBBLE(&gbhw->ioregs[0x30], pos) * 2;
| ^~~~~~~~~~
CC gblfsr.c -o gblfsr.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o gblfsr.o gblfsr.c
CC mapper.c -o mapper.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o mapper.o mapper.c
CC gbs.c -o gbs.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o gbs.o gbs.c
CC crc32.c -o crc32.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o crc32.o crc32.c
CC gbsplay.c -o gbsplay.o
gcc -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/gbsplay-0.0.97=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic -I/usr/include/SDL2 -D_FORTIFY_SOURCE=2 -Os -pipe -fomit-frame-pointer -fpie -c -o gbsplay.o gbsplay.c
gbsplay.c: In function ‘handleuserinput’:
gbsplay.c:114:25: error: too many arguments to function ‘toggle_pause’; expected 0, have 1
114 | toggle_pause(gbs);
| ^~~~~~~~~~~~ ~~~
In file included from gbsplay.c:16:
player.h:45:6: note: declared here
45 | void toggle_pause();
| ^~~~~~~~~~~~
make[1]: *** [Makefile:578: gbsplay.o] Error 1
make[1]: Leaving directory '/build/reproducible-path/gbsplay-0.0.97'
dh_auto_build: error: make -j1 returned exit code 2
make: *** [debian/rules:32: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
Reply to: