Bug#1096391: brainparty: ftbfs with GCC-15

Matthias Klose doko at debian.org
Mon Feb 17 17:05:45 GMT 2025


Package: src:brainparty
Version: 0.61+dfsg-7
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/brainparty_0.61+dfsg-7_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 -j8 clean
make[1]: Entering directory '/build/reproducible-path/brainparty-0.61+dfsg'
rm -f brainparty *.o
make[1]: Leaving directory '/build/reproducible-path/brainparty-0.61+dfsg'
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   dh_auto_build
	make -j8 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/build/reproducible-path/brainparty-0.61+dfsg'
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o BGObject.o BGObject.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o BPGame.o BPGame.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o BPPoint.o BPPoint.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o Colour.o Colour.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o MessageBox.o MessageBox.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o Minigame.o Minigame.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o SpriteFont.o SpriteFont.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o Texture.o Texture.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o balloonblaster.o balloonblaster.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o bombhunt.o bombhunt.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o bpsays.o bpsays.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o bubbletrouble.o bubbletrouble.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o cardmatch.o cardmatch.cpp
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o connex.o connex.cpp
BPGame.cpp: In member function ‘void BPGame::DrawLine(int, int, int, int, Colour*, float)’:
BPGame.cpp:1506:32: warning: narrowing conversion of ‘fromx’ from ‘int’ to ‘GLfloat’ {aka ‘float’} [-Wnarrowing]
 1506 |         GLfloat vertices[] = { fromx, fromy, tox, toy };
      |                                ^~~~~
BPGame.cpp:1506:39: warning: narrowing conversion of ‘fromy’ from ‘int’ to ‘GLfloat’ {aka ‘float’} [-Wnarrowing]
 1506 |         GLfloat vertices[] = { fromx, fromy, tox, toy };
      |                                       ^~~~~
BPGame.cpp:1506:46: warning: narrowing conversion of ‘tox’ from ‘int’ to ‘GLfloat’ {aka ‘float’} [-Wnarrowing]
 1506 |         GLfloat vertices[] = { fromx, fromy, tox, toy };
      |                                              ^~~
BPGame.cpp:1506:51: warning: narrowing conversion of ‘toy’ from ‘int’ to ‘GLfloat’ {aka ‘float’} [-Wnarrowing]
 1506 |         GLfloat vertices[] = { fromx, fromy, tox, toy };
      |                                                   ^~~
In file included from /usr/include/c++/15/map:64,
                 from BPGame.h:25,
                 from BPGame.cpp:19:
/usr/include/c++/15/bits/stl_tree.h: In instantiation of ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound(_Base_ptr, _Base_ptr, const _Key&) const [with _Key = const char*; _Val = std::pair<const char* const, Mix_Chunk*>; _KeyOfValue = std::_Select1st<std::pair<const char* const, Mix_Chunk*> >; _Compare = cmp_str; _Alloc = std::allocator<std::pair<const char* const, Mix_Chunk*> >; _Base_ptr = std::__rb_tree::_Node_traits<std::pair<const char* const, Mix_Chunk*>, std::pair<const char* const, Mix_Chunk*>*>::_Node_base*]’:
/usr/include/c++/15/bits/stl_tree.h:3150:20:   required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) [with _Key = const char*; _Val = std::pair<const char* const, Mix_Chunk*>; _KeyOfValue = std::_Select1st<std::pair<const char* const, Mix_Chunk*> >; _Compare = cmp_str; _Alloc = std::allocator<std::pair<const char* const, Mix_Chunk*> >; iterator = std::_Rb_tree<const char*, std::pair<const char* const, Mix_Chunk*>, std::_Select1st<std::pair<const char* const, Mix_Chunk*> >, cmp_str, std::allocator<std::pair<const char* const, Mix_Chunk*> > >::iterator]’
 3150 |       iterator __j(_M_lower_bound(_M_begin(), _M_end(), __k));
      |                    ^~~~~~~~~~~~~~
/usr/include/c++/15/bits/stl_map.h:1219:25:   required from ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) [with _Key = const char*; _Tp = Mix_Chunk*; _Compare = cmp_str; _Alloc = std::allocator<std::pair<const char* const, Mix_Chunk*> >; iterator = std::_Rb_tree<const char*, std::pair<const char* const, Mix_Chunk*>, std::_Select1st<std::pair<const char* const, Mix_Chunk*> >, cmp_str, std::allocator<std::pair<const char* const, Mix_Chunk*> > >::iterator; key_type = const char*]’
 1219 |       { return _M_t.find(__x); }
      |                ~~~~~~~~~^~~~~
BPGame.cpp:2325:17:   required from here
 2325 |         if (Sounds.find(sound) != Sounds.end()) {
      |             ~~~~~~~~~~~^~~~~~~
/usr/include/c++/15/bits/stl_tree.h:2604:36: error: no match for call to ‘(const cmp_str) (const char* const&, const char* const&)’
 2604 |         if (!_M_impl._M_key_compare(_S_key(__x), __k))
      |              ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
BPGame.h:55:8: note: there is 1 candidate
   55 | struct cmp_str {
      |        ^~~~~~~
BPGame.h:56:14: note: candidate 1: ‘bool cmp_str::operator()(const char*, const char*)’ (near match)
   56 |         bool operator()(char const *a, char const *b) {
      |              ^~~~~~~~
BPGame.h:56:14: note: passing ‘const cmp_str*’ as ‘this’ argument discards qualifiers
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/build/reproducible-path/brainparty-0.61+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -c -Wno-deprecated -std=c++11 `sdl-config --cflags` -I/usr/X11R6/include -o cupsnballs.o cupsnballs.cpp
make[1]: *** [Makefile:32: BPGame.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/reproducible-path/brainparty-0.61+dfsg'
dh_auto_build: error: make -j8 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Pkg-games-devel mailing list