Bug#1133463: einstein: ftbfs with GCC-16
Emanuele Rocca
ema at debian.org
Mon Apr 13 14:03:01 BST 2026
Package: src:einstein
Version: 2.0.dfsg.2-11
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16
Hi,
einstein fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.
The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/einstein_arm64.build.xz
The last lines of the build log are at the end of this report.
To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html
Please only close this issue after double-checking that the package can be
built correctly with GCC 16.
Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.
[...]
topscores.cpp: In constructor ‘ScoresWindow::ScoresWindow(int, int, TopScores*, int)’:
topscores.cpp:125:34: warning: narrowing conversion of ‘(pos - 20)’ from ‘int’ to ‘Sint16’ {aka ‘short int’} [-Wnarrowing]
125 | SDL_Rect rect = { 40, pos-20, 180, 40 };
| ~~~^~~
widgets.cpp: In member function ‘virtual void InputField::draw()’:
widgets.cpp:585:27: warning: narrowing conversion of ‘(((InputField*)this)->InputField::Window.Window::left + 1)’ from ‘int’ to ‘Sint16’ {aka ‘short int’} [-Wnarrowing]
585 | SDL_Rect rect = { left+1, top+1, width-2, height-2 };
| ~~~~^~
widgets.cpp:585:34: warning: narrowing conversion of ‘(((InputField*)this)->InputField::Window.Window::top + 1)’ from ‘int’ to ‘Sint16’ {aka ‘short int’} [-Wnarrowing]
585 | SDL_Rect rect = { left+1, top+1, width-2, height-2 };
| ~~~^~
widgets.cpp:585:43: warning: narrowing conversion of ‘(((InputField*)this)->InputField::Window.Window::width - 2)’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
585 | SDL_Rect rect = { left+1, top+1, width-2, height-2 };
| ~~~~~^~
widgets.cpp:585:53: warning: narrowing conversion of ‘(((InputField*)this)->InputField::Window.Window::height - 2)’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
585 | SDL_Rect rect = { left+1, top+1, width-2, height-2 };
| ~~~~~~^~
main.cpp: In function ‘int main(int, char**)’:
main.cpp:111:22: error: use of deleted function ‘std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const wchar_t*) [with _Traits = char_traits<char>]’
111 | std::cerr << L"ERROR: " << e.getMessage() << std::endl;
| ^~~~~~~~~~
In file included from /usr/include/c++/16/ostream:42,
from /usr/include/c++/16/iostream:43,
from main.cpp:2:
/usr/include/c++/16/bits/ostream.h:761:5: note: declared here
761 | operator<<(basic_ostream<char, _Traits>&, const wchar_t*) = delete;
| ^~~~~~~~
main.cpp:111:22: note: use ‘-fdiagnostics-all-candidates’ to display considered candidates
111 | std::cerr << L"ERROR: " << e.getMessage() << std::endl;
| ^~~~~~~~~~
main.cpp:113:22: error: use of deleted function ‘std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const wchar_t*) [with _Traits = char_traits<char>]’
113 | std::cerr << L"ERROR: Unknown exception" << std::endl;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/ostream.h:761:5: note: declared here
761 | operator<<(basic_ostream<char, _Traits>&, const wchar_t*) = delete;
| ^~~~~~~~
main.cpp:113:22: note: use ‘-fdiagnostics-all-candidates’ to display considered candidates
113 | std::cerr << L"ERROR: Unknown exception" << std::endl;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
widgets.cpp: In constructor ‘Checkbox::Checkbox(int, int, int, int, Font*, int, int, int, const std::wstring&, bool&)’:
widgets.cpp:724:34: warning: narrowing conversion of ‘tile->SDL_Surface::w’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
724 | SDL_Rect src = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:724:43: warning: narrowing conversion of ‘tile->SDL_Surface::h’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
724 | SDL_Rect src = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:725:34: warning: narrowing conversion of ‘tile->SDL_Surface::w’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
725 | SDL_Rect dst = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:725:43: warning: narrowing conversion of ‘tile->SDL_Surface::h’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
725 | SDL_Rect dst = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp: In member function ‘void Slider::createSlider(int)’:
widgets.cpp:920:34: warning: narrowing conversion of ‘tile->SDL_Surface::w’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
920 | SDL_Rect src = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:920:43: warning: narrowing conversion of ‘tile->SDL_Surface::h’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
920 | SDL_Rect src = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:921:34: warning: narrowing conversion of ‘tile->SDL_Surface::w’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
921 | SDL_Rect dst = { 0, 0, tile->w, tile->h };
| ~~~~~~^
widgets.cpp:921:43: warning: narrowing conversion of ‘tile->SDL_Surface::h’ from ‘int’ to ‘Uint16’ {aka ‘short unsigned int’} [-Wnarrowing]
921 | SDL_Rect dst = { 0, 0, tile->w, tile->h };
| ~~~~~~^
make[1]: *** [Makefile:47: main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/build/reproducible-path/einstein-2.0.dfsg.2'
dh_auto_build: error: make -j128 INSTALL="install --strip-program=true" returned exit code 2
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
More information about the Pkg-games-devel
mailing list