- Package:
- src:amoebax
- Source:
- src:amoebax
- Submitter:
- Emanuele Rocca
- Date:
- 2026-08-09 12:51:02 UTC
- Severity:
- normal
- Tags:
Hi, amoebax 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/amoebax_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. 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. [...] TwoPlayersState.h:144:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 144 | std::auto_ptr<Surface> m_Ready; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TwoPlayersState.h:148:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 148 | std::auto_ptr<IPlayer> m_RightPlayer; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TwoPlayersState.h:150:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 150 | std::auto_ptr<Font> m_ScoreFont; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TwoPlayersState.h:154:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 154 | std::auto_ptr<Surface> m_Silhouettes; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TwoPlayersState.h:158:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 158 | std::auto_ptr<Surface> m_YouLose; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TwoPlayersState.h:160:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 160 | std::auto_ptr<Surface> m_YouWin; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ In file included from TournamentState.cxx:32: VersusState.h:59:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 59 | std::auto_ptr<Surface> m_Background; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ VersusState.h:61:18: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 61 | std::auto_ptr<Music> m_BackgroundMusic; | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ TournamentState.cxx: In member function ‘void Amoebax::TournamentState::loadGraphicResources()’: TournamentState.cxx:436:14: warning: ‘template<class> class std::auto_ptr’ is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations] 436 | std::auto_ptr<Surface> grid ( | ^~~~~~~~ /usr/include/c++/16/bits/unique_ptr.h:58:28: note: declared here 58 | template<typename> class auto_ptr; | ^~~~~~~~ In file included from main.cxx:29: System.h:49:31: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations] 49 | struct DeleteObject: std::unary_function <T, void> | ^~~~~~~~~~~~~~ /usr/include/c++/16/bits/stl_function.h:120:12: note: declared here 120 | struct unary_function | ^~~~~~~~~~~~~~ make[3]: Leaving directory '/build/reproducible-path/amoebax-0.2.1+dfsg/src' make[2]: *** [Makefile:255: all-recursive] Error 1 make[2]: Leaving directory '/build/reproducible-path/amoebax-0.2.1+dfsg' make[1]: *** [Makefile:194: all] Error 2 make[1]: Leaving directory '/build/reproducible-path/amoebax-0.2.1+dfsg' dh_auto_build: error: make -j128 returned exit code 2 make: *** [debian/rules:5: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
/usr/include/c++/16/bits/stl_numeric.h: In instantiation of ‘constexpr _Tp std::accumulate(_InputIterator, _InputIterator, _Tp, _BinaryOperation) [with _InputIterator = __gnu_cxx::__normal_iterator<const char*, __cxx11::basic_string<char> >; _Tp = short unsigned int; _BinaryOperation = Amoebax::Font::TextWidth]’:
Font.cxx:71:28: required from here
71 | return std::accumulate (text.begin (), text.end (),
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
72 | static_cast<uint16_t>(0), TextWidth (this));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/stl_numeric.h:169:29: error: no match for call to ‘(Amoebax::Font::TextWidth) (std::remove_reference<short unsigned int&>::type, const char&)’
169 | __init = __binary_op(_GLIBCXX_MOVE_IF_20(__init), *__first);
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
• there is 1 candidate
Font.h:67:20:
67 | struct TextWidth:
| ^~~~~~~~~
• candidate 1: ‘uint16_t Amoebax::Font::TextWidth::operator()(uint16_t&, const char&)’ (near match)
Font.h:98:17:
98 | operator() (uint16_t &widthSoFar, const char ¤tCharacter)
| ^~~~~~~~
• conversion of argument 1 would be ill-formed:
• error: cannot bind non-const lvalue reference of type ‘uint16_t&’ {aka ‘short unsigned int&’} to an rvalue of type ‘std::remove_reference<short unsigned int&>::type’ {aka ‘short unsigned int’}
(Someone who is better at C++ than me will have to solve this, sorry)
smcv
tags 1132062 + patch user debian-release@lists.debian.org usertags 1132062 + bsp-2026-04-br-campinas thanks Thanks, Simon. I've proposed a patch to fix the issue with GCC 16 [1]. From what I tested, the build works with both C++17 and C++20. I'm adding Jordi Fita in CC, since they are referenced as author in the project webpage [2]. I will see if the e-mail can be successfully delivered and then annotate the bug as forwarded accordingly if so. [1] https://salsa.debian.org/games-team/amoebax/-/merge_requests/4 [2] https://www.emma-soft.com/games/amoebax/index.html
We believe that the bug you reported is fixed in the latest version of amoebax, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1132062@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Alexandre Detiste <tchet@debian.org> (supplier of updated amoebax package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@ftp-master.debian.org) Format: 1.8 Date: Sun, 09 Aug 2026 13:48:28 +0200 Source: amoebax Architecture: source Version: 0.2.1+dfsg-8 Distribution: unstable Urgency: medium Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org> Changed-By: Alexandre Detiste <tchet@debian.org> Closes: 1132062 Changes: amoebax (0.2.1+dfsg-8) unstable; urgency=medium . * Team Upload * Add debian/salsa-ci.yml * Bump Standards-Version to 4.7.4, drop Priority: tag . [ Henrique F. Simoes ] * Fix FTBFS with GCC 16 (Closes: #1132062) Checksums-Sha1: 9671b54f49cf8be952afad0c237f513f2e4b9241 2091 amoebax_0.2.1+dfsg-8.dsc 812f6ed6c9547b3d0ba270fe3c5af765a2f22aed 8332 amoebax_0.2.1+dfsg-8.debian.tar.xz 072734ab542ac5907cae228885812af0c1537809 13179 amoebax_0.2.1+dfsg-8_source.buildinfo Checksums-Sha256: 99f0a7b90d0afe0321824ed83e48b0c37b343d6f57fdad9b96f7f9cd8d27d92c 2091 amoebax_0.2.1+dfsg-8.dsc 427a75676fb30bb81541aa409cdcb972e8999b5dfe61b101666ae2d7a41b663c 8332 amoebax_0.2.1+dfsg-8.debian.tar.xz ba42251f8b05b4314c6546fdd30f9756bf1d198517bf140e010748102a751e30 13179 amoebax_0.2.1+dfsg-8_source.buildinfo Files: 5242c909b99b4cb3c78b7392fba8843a 2091 games optional amoebax_0.2.1+dfsg-8.dsc f9a0b36531155038c1a92aa2df8b3d24 8332 games optional amoebax_0.2.1+dfsg-8.debian.tar.xz c4719d6dfa19ea37632dc6f5bed4a99a 13179 games optional amoebax_0.2.1+dfsg-8_source.buildinfo -----BEGIN PGP SIGNATURE----- iQJFBAEBCgAvFiEEj23hBDd/OxHnQXSHMfMURUShdBoFAmp4clERHHRjaGV0QGRl Ymlhbi5vcmcACgkQMfMURUShdBrGAhAAhW52LsZUsq4z374SinSQXhKxsBXfbHok aV5/DgVkldVdvmtn/pJxOGzdlDyN+UAnLZ6h3/iQAkwhei4FQlj5KEZqY5VErxP6 dWNb9xeEd3OjJaLr5sXRwaUHK5FfFQheg2GLbdu5n8uKwlkbaATnCgwlnDgpoeWy Jz1Er1lTdesplAgbiqnTkd4nBYaHmfQmZh0858YcZKyzIauocuVyvq14G3OBIz+y rV1fXgH+6l1p5yR5S5TlpWjmWCU2WJDQQw0pIvsXeRNtVAzneiPj/ZrRZLON+ujQ u4g72TUmJGSDZUXclGZHuubCgJL0mCabqlFDB3RX0DUnk1+7iBSwqPYKG78GD/BJ SMskWuEKuuMyU8i1+yxFz3Wooj/oUcQ182zE8mjTenUE4r3zBZomryZ0Tk3yK9eB Os2+NDRGen0BjywrezXW59v3cJ6lPcHTaMRkF583LgsKo7LA2dk/n/fZK4qYB/ep vTPHBzr8eRFtSNFAHlx2cQsKy77m8waQOCHxqqNHOYjIAH3BChjyL24URusfud1P assuTU4oGpXj3e/LyH+tBiryT6WdNrVQ09GMAK4vqAdsMAcUBrOtvMn+RA9UdhBV i9nV+vcwWVLWk1CnZBNTxEeF43TPOZmzexA0Xw83fTtpVpik5V7R8I+QOxo6PktL NVNoVpkTGC8= =0euR -----END PGP SIGNATURE-----