Bug#984403: warzone2100: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:18:35 GMT 2021


Package: src:warzone2100
Version: 3.3.0-4
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-11

[This bug is not targeted to the upcoming bullseye 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-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.

The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/warzone2100_3.3.0-4_unstable_gcc11.log
The last lines of the build log are at the end of this report.

To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++ 

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-11/porting_to.html

GCC 11 defaults to the GNU++17 standard.  If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.

[...]
wzglobal.h:688:26: note: in definition of macro ‘likely’
  688 | # define likely(expr)   (expr)
      |                          ^~~~
debug.h:109:9: note: in expansion of macro ‘ASSERT_HELPER’
  109 |         ASSERT_HELPER(expr, AT_MACRO, __FUNCTION__, __VA_ARGS__)
      |         ^~~~~~~~~~~~~
wzstring.cpp:187:17: note: in expansion of macro ‘ASSERT’
  187 |                 ASSERT(len_distance <= std::numeric_limits<int>::max(), "The length (in codepoints) of a WzString exceeds the max of the return type for length()");
      |                 ^~~~~~
wzglobal.h:688:25: note: to match this ‘(’
  688 | # define likely(expr)   (expr)
      |                         ^
debug.h:95:11: note: in expansion of macro ‘likely’
   95 |           likely(expr) ? /* if (expr) */ \
      |           ^~~~~~
debug.h:109:9: note: in expansion of macro ‘ASSERT_HELPER’
  109 |         ASSERT_HELPER(expr, AT_MACRO, __FUNCTION__, __VA_ARGS__)
      |         ^~~~~~~~~~~~~
wzstring.cpp:187:17: note: in expansion of macro ‘ASSERT’
  187 |                 ASSERT(len_distance <= std::numeric_limits<int>::max(), "The length (in codepoints) of a WzString exceeds the max of the return type for length()");
      |                 ^~~~~~
wzstring.cpp:187:164: error: expected ‘)’ before ‘;’ token
  187 |                 ASSERT(len_distance <= std::numeric_limits<int>::max(), "The length (in codepoints) of a WzString exceeds the max of the return type for length()");
      |                                                                                                                                                                    ^
In file included from string_ext.h:24,
                 from frame.h:44,
                 from wzstring.cpp:20:
debug.h:94:9: note: to match this ‘(’
   94 |         ( \
      |         ^
debug.h:109:9: note: in expansion of macro ‘ASSERT_HELPER’
  109 |         ASSERT_HELPER(expr, AT_MACRO, __FUNCTION__, __VA_ARGS__)
      |         ^~~~~~~~~~~~~
wzstring.cpp:187:17: note: in expansion of macro ‘ASSERT’
  187 |                 ASSERT(len_distance <= std::numeric_limits<int>::max(), "The length (in codepoints) of a WzString exceeds the max of the return type for length()");
      |                 ^~~~~~
wzstring.cpp:188:29: error: ‘numeric_limits’ is not a member of ‘std’
  188 |                 return std::numeric_limits<int>::max();
      |                             ^~~~~~~~~~~~~~
wzstring.cpp:188:44: error: expected primary-expression before ‘int’
  188 |                 return std::numeric_limits<int>::max();
      |                                            ^~~
wzstring.cpp:188:44: error: expected ‘;’ before ‘int’
  188 |                 return std::numeric_limits<int>::max();
      |                                            ^~~
      |                                            ;
wzstring.cpp:188:47: error: expected unqualified-id before ‘>’ token
  188 |                 return std::numeric_limits<int>::max();
      |                                               ^
wzstring.cpp: In static member function ‘static WzString WzString::number(double)’:
wzstring.cpp:510:38: error: ‘numeric_limits’ is not a member of ‘std’
  510 |         ss << std::setprecision(std::numeric_limits<double>::digits10) << n;
      |                                      ^~~~~~~~~~~~~~
wzstring.cpp:510:53: error: expected primary-expression before ‘double’
  510 |         ss << std::setprecision(std::numeric_limits<double>::digits10) << n;
      |                                                     ^~~~~~
make[5]: *** [Makefile:460: wzstring.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: Leaving directory '/<<PKGBUILDDIR>>/lib/framework'
make[4]: *** [Makefile:380: all] Error 2
make[4]: Leaving directory '/<<PKGBUILDDIR>>/lib/framework'
make[3]: *** [Makefile:511: all-recursive] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make[2]: *** [Makefile:430: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 returned exit code 2
make[1]: *** [debian/rules:57: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:8: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Pkg-games-devel mailing list