[Debian-med-packaging] Bug#984334: skewer: ftbfs with GCC-11

Matthias Klose doko at debian.org
Wed Mar 3 16:17:21 GMT 2021


Package: src:skewer
Version: 0.2.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/skewer_0.2.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.

[...]
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture amd64
 debian/rules clean
dh clean
   dh_auto_clean
	make -j4 clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf src/main.o src/parameter.o src/matrix.o src/fastq.o skewer
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_clean
	rm -f debian/debhelper-build-stamp
	rm -rf debian/.debhelper/
	rm -f -- debian/skewer.substvars debian/files
	rm -fr -- debian/skewer/ debian/tmp/
	find .  \( \( \
		\( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \
	        \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \
		 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \
		 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \
		 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \
		\) -exec rm -f {} + \) -o \
		\( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \)
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   dh_auto_build
	make -j4 "INSTALL=install --strip-program=true"
make[1]: Entering directory '/<<PKGBUILDDIR>>'
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -O2 -c src/main.cpp -o src/main.o
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -O2 -c src/parameter.cpp -o src/parameter.o
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -O2 -c src/matrix.cpp -o src/matrix.o
g++ -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -O2 -c src/fastq.cpp -o src/fastq.o
src/fastq.cpp: In function ‘int64 gzsize(const char*)’:
src/fastq.cpp:219:30: warning: ignoring return value of ‘size_t fread(void*, size_t, size_t, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  219 |                         fread(buffer, 1, 4, fp);
      |                         ~~~~~^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/set:60,
                 from src/matrix.h:37,
                 from src/matrix.cpp:35:
/usr/include/c++/11/bits/stl_tree.h: In instantiation of ‘static const _Key& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type) [with _Key = ELEMENT; _Val = ELEMENT; _KeyOfValue = std::_Identity<ELEMENT>; _Compare = ElementComparator; _Alloc = std::allocator<ELEMENT>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<ELEMENT>*]’:
/usr/include/c++/11/bits/stl_tree.h:1903:36:   required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_lower_bound(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr, const _Key&) [with _Key = ELEMENT; _Val = ELEMENT; _KeyOfValue = std::_Identity<ELEMENT>; _Compare = ElementComparator; _Alloc = std::allocator<ELEMENT>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<ELEMENT, ELEMENT, std::_Identity<ELEMENT>, ElementComparator, std::allocator<ELEMENT> >::iterator; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<ELEMENT>*; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Base_ptr = std::_Rb_tree_node_base*]’
/usr/include/c++/11/bits/stl_tree.h:2521:36:   required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) [with _Key = ELEMENT; _Val = ELEMENT; _KeyOfValue = std::_Identity<ELEMENT>; _Compare = ElementComparator; _Alloc = std::allocator<ELEMENT>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<ELEMENT, ELEMENT, std::_Identity<ELEMENT>, ElementComparator, std::allocator<ELEMENT> >::iterator]’
/usr/include/c++/11/bits/stl_set.h:795:25:   required from ‘std::set<_Key, _Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const key_type&) [with _Key = ELEMENT; _Compare = ElementComparator; _Alloc = std::allocator<ELEMENT>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree<ELEMENT, ELEMENT, std::_Identity<ELEMENT>, ElementComparator, std::allocator<ELEMENT> >::const_iterator; std::set<_Key, _Compare, _Alloc>::key_type = ELEMENT]’
src/matrix.cpp:147:43:   required from here
/usr/include/c++/11/bits/stl_tree.h:770:15: error: static assertion failed: comparison object must be invocable as const
  770 |               is_invocable_v<const _Compare&, const _Key&, const _Key&>,
      |               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_tree.h:770:15: note: ‘std::is_invocable_v<const ElementComparator&, const ELEMENT&, const ELEMENT&>’ evaluates to false
make[1]: *** [Makefile:38: src/matrix.o] Error 1
make[1]: *** Waiting for unfinished jobs....
src/main.cpp: In function ‘void cStats::printTime(const char*, FILE*, int)’:
src/main.cpp:501:62: warning: ‘%d’ directive writing between 1 and 11 bytes into a region of size between 0 and 12 [-Wformat-overflow=]
  501 |                 sprintf(result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",
      |                                                              ^~
src/main.cpp:501:33: note: directive argument in the range [-2147481748, 2147483647]
  501 |                 sprintf(result, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/stdio.h:867,
                 from src/main.cpp:32:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:36:34: note: ‘__builtin___sprintf_chk’ output between 16 and 67 bytes into a destination of size 26
   36 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   37 |                                   __bos (__s), __fmt, __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" returned exit code 2
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-med-packaging mailing list