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