Bug#984118: farmhash: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:12:05 GMT 2021


Package: src:farmhash
Version: 0~git20190513.0d859a8-1
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/farmhash_0~git20190513.0d859a8-1_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.

[...]
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:309:5: note:                 ‘template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])’
  309 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:299:5: note:                 ‘template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)’
  299 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:289:5: note:                 ‘template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)’
  289 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
In file included from farm-test.cc:36:
farmhash.cc:1996:13: note:                 ‘char data [1048576]’
 1996 | static char data[kDataSize];
      |             ^~~~
In file included from farm-test.cc:36:
farmhash.cc:11767:35: error: reference to ‘data’ is ambiguous
11767 | { uint64_t h = farmhashxo::Hash64(data + offset, len); Check(h >> 32); Check((h << 32) >> 32); }
      |                                   ^~~~
In file included from /usr/include/c++/11/array:41,
                 from /usr/include/c++/11/tuple:39,
                 from /usr/include/c++/11/functional:54,
                 from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/11/algorithm:74,
                 from farmhash.cc:353,
                 from farm-test.cc:36:
/usr/include/c++/11/bits/range_access.h:318:5: note: candidates are: ‘template<class _Tp> constexpr const _Tp* std::data(std::initializer_list<_Tp>)’
  318 |     data(initializer_list<_Tp> __il) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:309:5: note:                 ‘template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::data(_Tp (&)[_Nm])’
  309 |     data(_Tp (&__array)[_Nm]) noexcept
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:299:5: note:                 ‘template<class _Container> constexpr decltype (__cont.data()) std::data(const _Container&)’
  299 |     data(const _Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
/usr/include/c++/11/bits/range_access.h:289:5: note:                 ‘template<class _Container> constexpr decltype (__cont.data()) std::data(_Container&)’
  289 |     data(_Container& __cont) noexcept(noexcept(__cont.data()))
      |     ^~~~
In file included from farm-test.cc:36:
farmhash.cc:1996:13: note:                 ‘char data [1048576]’
 1996 | static char data[kDataSize];
      |             ^~~~
In file included from farm-test.cc:36:
farmhash.cc: At global scope:
farmhash.cc:8361:14: warning: ‘index’ defined but not used [-Wunused-variable]
 8361 |   static int index = 0;
      |              ^~~~~
farmhash.cc:7469:14: warning: ‘index’ defined but not used [-Wunused-variable]
 7469 |   static int index = 0;
      |              ^~~~~
farmhash.cc:6577:14: warning: ‘index’ defined but not used [-Wunused-variable]
 6577 |   static int index = 0;
      |              ^~~~~
farmhash.cc:4429:14: warning: ‘index’ defined but not used [-Wunused-variable]
 4429 |   static int index = 0;
      |              ^~~~~
In file included from farm-test.cc:36:
farmhash.cc:1996:13: warning: ‘data’ defined but not used [-Wunused-variable]
 1996 | static char data[kDataSize];
      |             ^~~~
make[3]: *** [Makefile:629: farm-test.o] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 "-ffile-prefix-map=/<<PKGBUILDDIR>>=." -fstack-protector-strong -Wformat -Werror=format-security -Wall -c farmhash.cc -o farmhash.o >/dev/null 2>&1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:475: all-recursive] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:386: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 returned exit code 2
make: *** [debian/rules:7: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the debian-science-maintainers mailing list