[Debian-med-packaging] Bug#984293: plink: ftbfs with GCC-11

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


Package: src:plink
Version: 1.07+dfsg-3
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/plink_1.07+dfsg-3_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.

[...]
helper.cpp:2959:21: warning: comparison of integer expressions of different signedness: ‘std::vector<double>::size_type’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
 2959 |   if ( input.size() != P.nl_all )
      |        ~~~~~~~~~~~~~^~~~~~~~~~~
helper.cpp: In function ‘std::map<std::__cxx11::basic_string<char>, std::set<Range> > readRange(std::string)’:
helper.cpp:3097:20: warning: unused variable ‘s’ [-Wunused-variable]
 3097 |       set<Range> * s;
      |                    ^
helper.cpp: In function ‘void makeScaffold(Plink&)’:
helper.cpp:3324:9: warning: unused variable ‘last’ [-Wunused-variable]
 3324 |     int last = -1;
      |         ^~~~
helper.cpp:3328:9: warning: unused variable ‘thisChromosome’ [-Wunused-variable]
 3328 |     int thisChromosome = P.locus[0]->chr;
      |         ^~~~~~~~~~~~~~
helper.cpp:3329:9: warning: unused variable ‘nextChromosome’ [-Wunused-variable]
 3329 |     int nextChromosome;
      |         ^~~~~~~~~~~~~~
In file included from /usr/include/c++/11/set:60,
                 from plink.h:22,
                 from helper.h:23,
                 from helper.cpp:24:
/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 = Locus*; _Val = Locus*; _KeyOfValue = std::_Identity<Locus*>; _Compare = std::less<Locus*>; _Alloc = std::allocator<Locus*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Const_Link_type = const std::_Rb_tree_node<Locus*>*]’:
/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 = Locus*; _Val = Locus*; _KeyOfValue = std::_Identity<Locus*>; _Compare = std::less<Locus*>; _Alloc = std::allocator<Locus*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<Locus*, Locus*, std::_Identity<Locus*>, std::less<Locus*>, std::allocator<Locus*> >::iterator; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<Locus*>*; 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 = Locus*; _Val = Locus*; _KeyOfValue = std::_Identity<Locus*>; _Compare = std::less<Locus*>; _Alloc = std::allocator<Locus*>; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<Locus*, Locus*, std::_Identity<Locus*>, std::less<Locus*>, std::allocator<Locus*> >::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 = Locus*; _Compare = std::less<Locus*>; _Alloc = std::allocator<Locus*>; std::set<_Key, _Compare, _Alloc>::iterator = std::_Rb_tree<Locus*, Locus*, std::_Identity<Locus*>, std::less<Locus*>, std::allocator<Locus*> >::const_iterator; std::set<_Key, _Compare, _Alloc>::key_type = Locus*]’
helper.cpp:2128:30:   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 std::less<Locus*>&, Locus* const&, Locus* const&>’ evaluates to false
helper.cpp: In member function ‘std::string CArgs::value(std::string)’:
helper.cpp:218:8: warning: control reaches end of non-void function [-Wreturn-type]
  218 |   error("Missing an argument for "+s);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
helper.cpp: In member function ‘int CArgs::value_int(std::string)’:
helper.cpp:231:8: warning: control reaches end of non-void function [-Wreturn-type]
  231 |   error("Missing an argument for "+s);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
helper.cpp: In member function ‘long unsigned int CArgs::value_lui(std::string)’:
helper.cpp:243:8: warning: control reaches end of non-void function [-Wreturn-type]
  243 |   error("Missing an argument for "+s);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
helper.cpp: In member function ‘double CArgs::value_double(std::string)’:
helper.cpp:255:8: warning: control reaches end of non-void function [-Wreturn-type]
  255 |   error("Missing an argument for "+s);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
helper.cpp: In function ‘int getInt(std::string, std::string)’:
helper.cpp:380:1: warning: control reaches end of non-void function [-Wreturn-type]
  380 | }
      | ^
helper.cpp: In function ‘long unsigned int getLongUnsignedInt(std::string, std::string)’:
helper.cpp:393:1: warning: control reaches end of non-void function [-Wreturn-type]
  393 | }
      | ^
helper.cpp: In function ‘double getDouble(std::string, std::string)’:
helper.cpp:407:1: warning: control reaches end of non-void function [-Wreturn-type]
  407 | }
      | ^
make[2]: *** [Makefile:159: helper.o] Error 1
make[2]: *** Waiting for unfinished jobs....
input.cpp: In member function ‘void Plink::readData()’:
input.cpp:91:20: warning: ‘PED’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   91 |           if ( feof(PED) )
      |                ~~~~^~~~~
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" "CXXFLAGS=-Wall -g  -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -DWITH_R_PLUGINS -Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -DUNIX -O3" FORCE_DYNAMIC=1 returned exit code 2
make[1]: *** [debian/rules:24: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:17: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2



More information about the Debian-med-packaging mailing list