Bug#1132062: amoebax: ftbfs with GCC-16

Henrique F. Simoes henriquesimoes at riseup.net
Tue Apr 21 23:16:59 BST 2026


tags 1132062 + patch
user debian-release at lists.debian.org
usertags 1132062 + bsp-2026-04-br-campinas
thanks

On Fri Mar 27, 2026 at 2:58 PM -03, Simon McVittie wrote:
> On Fri, 27 Mar 2026 at 18:18:03 +0100, Emanuele Rocca wrote:
>>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.
>
> Unfortunately they didn't contain the error, which appears to be:
>
> /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 &currentCharacter)
>              |                 ^~~~~~~~
>        • 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

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

--
Henrique F. Simoes



More information about the Pkg-games-devel mailing list