Bug#983988: benchmark: ftbfs with GCC-11

Roman Lebedev lebedev.ri at gmail.com
Wed Mar 3 16:28:26 GMT 2021


This was fixed in
https://github.com/google/benchmark/commit/3d1c2677686718d906f28c1d4da001c42666e6d2
some time ago, after v1.5.2 was released.
Looks like it's time for a new upstream release.

Roman.

On Wed, Mar 3, 2021 at 7:16 PM Matthias Klose <doko at debian.org> wrote:
>
> Package: src:benchmark
> Version: 1.5.2-2
> 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/benchmark_1.5.2-2_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.
>
> [...]
> Dependee "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/CMakeFiles/benchmark.dir/DependInfo.cmake" is newer than depender "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/CMakeFiles/benchmark.dir/depend.internal".
> Dependee "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/CMakeFiles/benchmark.dir/depend.internal".
> [  1%] Building CXX object test/CMakeFiles/output_test_helper.dir/output_test_helper.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -DTEST_BENCHMARK_LIBRARY_HAS_NO_ASSERTIONS -I/<<PKGBUILDDIR>>/include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3  -Werror  -Wno-deprecated   -UNDEBUG -o CMakeFiles/output_test_helper.dir/output_test_helper.cc.o -c /<<PKGBUILDDIR>>/test/output_test_helper.cc
> Scanning dependencies of target benchmark
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make  -f src/CMakeFiles/benchmark.dir/build.make src/CMakeFiles/benchmark.dir/build
> Scanning dependencies of target gtest
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make  -f third_party/googletest/build/googletest/CMakeFiles/gtest.dir/build.make third_party/googletest/build/googletest/CMakeFiles/gtest.dir/build
> make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make[3]: Entering directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> [  2%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -Dbenchmark_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -fPIC -o CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o -c /<<PKGBUILDDIR>>/src/benchmark_api_internal.cc
> [  3%] Building CXX object third_party/googletest/build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/third_party/googletest/build/googletest && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -I/<<PKGBUILDDIR>>/include -I/usr/src/googletest/googletest/include -I/usr/src/googletest/googletest -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -Wall -Wshadow -Wno-error=dangling-else -DGTEST_HAS_PTHREAD=1 -fexceptions -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -pthread -o CMakeFiles/gtest.dir/src/gtest-all.cc.o -c /usr/src/googletest/googletest/src/gtest-all.cc
> [  4%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -Dbenchmark_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -fPIC -o CMakeFiles/benchmark.dir/benchmark.cc.o -c /<<PKGBUILDDIR>>/src/benchmark.cc
> [  5%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_name.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -Dbenchmark_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -fPIC -o CMakeFiles/benchmark.dir/benchmark_name.cc.o -c /<<PKGBUILDDIR>>/src/benchmark_name.cc
> [  6%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -Dbenchmark_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -fPIC -o CMakeFiles/benchmark.dir/benchmark_register.cc.o -c /<<PKGBUILDDIR>>/src/benchmark_register.cc
> In file included from /<<PKGBUILDDIR>>/src/benchmark_register.cc:15:
> /<<PKGBUILDDIR>>/src/benchmark_register.h: In function ‘typename std::vector<T>::iterator benchmark::internal::AddPowers(std::vector<T>*, T, T, int)’:
> /<<PKGBUILDDIR>>/src/benchmark_register.h:22:30: error: ‘numeric_limits’ is not a member of ‘std’
>    22 |   static const T kmax = std::numeric_limits<T>::max();
>       |                              ^~~~~~~~~~~~~~
> /<<PKGBUILDDIR>>/src/benchmark_register.h:22:46: error: expected primary-expression before ‘>’ token
>    22 |   static const T kmax = std::numeric_limits<T>::max();
>       |                                              ^
> /<<PKGBUILDDIR>>/src/benchmark_register.h:22:49: error: ‘::max’ has not been declared; did you mean ‘std::max’?
>    22 |   static const T kmax = std::numeric_limits<T>::max();
>       |                                                 ^~~
>       |                                                 std::max
> In file included from /usr/include/c++/11/algorithm:62,
>                  from /<<PKGBUILDDIR>>/include/benchmark/benchmark.h:172,
>                  from /<<PKGBUILDDIR>>/src/internal_macros.h:4,
>                  from /<<PKGBUILDDIR>>/src/check.h:8,
>                  from /<<PKGBUILDDIR>>/src/benchmark_register.h:6,
>                  from /<<PKGBUILDDIR>>/src/benchmark_register.cc:15:
> /usr/include/c++/11/bits/stl_algo.h:3467:5: note: ‘std::max’ declared here
>  3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
>       |     ^~~
> [  8%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src && /usr/bin/c++ -DHAVE_POSIX_REGEX -DHAVE_STD_REGEX -DHAVE_STEADY_CLOCK -Dbenchmark_EXPORTS -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/src -I/<<PKGBUILDDIR>>/src/../include -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2  -std=c++11  -Wall  -Wextra  -Wshadow  -fstrict-aliasing  -Wno-deprecated-declarations  -Wstrict-aliasing  -ffat-lto-objects -O3 -DNDEBUG  -Werror  -Wno-deprecated -fPIC -o CMakeFiles/benchmark.dir/benchmark_runner.cc.o -c /<<PKGBUILDDIR>>/src/benchmark_runner.cc
> make[3]: *** [src/CMakeFiles/benchmark.dir/build.make:124: src/CMakeFiles/benchmark.dir/benchmark_register.cc.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make[2]: *** [CMakeFiles/Makefile2:285: src/CMakeFiles/benchmark.dir/all] Error 2
> make[2]: *** Waiting for unfinished jobs....
> [  9%] Linking CXX static library liboutput_test_helper.a
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test && /usr/bin/cmake -P CMakeFiles/output_test_helper.dir/cmake_clean_target.cmake
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/output_test_helper.dir/link.txt --verbose=1
> /usr/bin/gcc-ar qc liboutput_test_helper.a CMakeFiles/output_test_helper.dir/output_test_helper.cc.o
> /usr/bin/gcc-ranlib liboutput_test_helper.a
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> [  9%] Built target output_test_helper
> [ 10%] Linking CXX static library ../../../../lib/libgtest.a
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/third_party/googletest/build/googletest && /usr/bin/cmake -P CMakeFiles/gtest.dir/cmake_clean_target.cmake
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/third_party/googletest/build/googletest && /usr/bin/cmake -E cmake_link_script CMakeFiles/gtest.dir/link.txt --verbose=1
> /usr/bin/gcc-ar qc ../../../../lib/libgtest.a CMakeFiles/gtest.dir/src/gtest-all.cc.o
> /usr/bin/gcc-ranlib ../../../../lib/libgtest.a
> make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> [ 10%] Built target gtest
> make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> make[1]: *** [Makefile:163: all] Error 2
> make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
> dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j4 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
> make: *** [debian/rules:7: binary] Error 25
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
>



More information about the debian-science-maintainers mailing list