[Debian-med-packaging] Bug#984250: murasaki: ftbfs with GCC-11

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


Package: src:murasaki
Version: 1.68.6-11
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/murasaki_1.68.6-11_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.

[...]
      |            ^~~~
sequence.cc:1114:97: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘ShmVector<std::pair<long int, long int> >::val_type’ {aka ‘struct std::pair<long int, long int>’} with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
 1114 |   memcpy(&subSeqs.front(),binseq.regions[0],sizeof(SequenceBinary::Region)*binseq.regionSizes[0]);
      |                                                                                                 ^
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/stl_tree.h:63,
                 from /usr/include/c++/11/set:60,
                 from cmultiset.h:33,
                 from sequence.h:30,
                 from murasaki.h:24,
                 from sequence.cc:28:
/usr/include/c++/11/bits/stl_pair.h:211:12: note: ‘ShmVector<std::pair<long int, long int> >::val_type’ {aka ‘struct std::pair<long int, long int>’} declared here
  211 |     struct pair
      |            ^~~~
sequence.cc: In destructor ‘BitSequence::~BitSequence()’:
sequence.cc:1394:9: warning: ‘throw’ will always call ‘terminate’ [-Wterminate]
 1394 |         throw MurasakiException("Couldn't detach System V shared memory region for "+(seq ? seq->filename:string("(anon)"))+strerror(errno));
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sequence.cc:1394:9: note: in C++11 destructors default to ‘noexcept’
sequence.cc: In member function ‘std::pair<double, long int> IntervalSet::entropy() const’:
sequence.cc:3332:10: warning: variable ‘shortest’ set but not used [-Wunused-but-set-variable]
 3332 |   SeqPos shortest=0,shortlen=length(spaces[0]);
      |          ^~~~~~~~
In file included from sequence.h:44,
                 from murasaki.h:24,
                 from sequence.cc:28:
shmvector.hh: In instantiation of ‘void ShmVector<T>::shmRealloc(size_t) [with T = std::pair<long int, long int>; size_t = long unsigned int]’:
shmvector.hh:282:5:   required from ‘void ShmVector<T>::resize(size_t) [with T = std::pair<long int, long int>; size_t = long unsigned int]’
sequence.cc:1110:39:   required from here
shmvector.hh:225:13: warning: ‘void* memcpy(void*, const void*, size_t)’ writing to an object of type ‘struct std::pair<long int, long int>’ with no trivial copy-assignment; use copy-assignment or copy-initialization instead [-Wclass-memaccess]
  225 |       memcpy(_data,old_data,(oldByteCapacity<_byteCapacity ? oldByteCapacity:_byteCapacity));
      |       ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/stl_tree.h:63,
                 from /usr/include/c++/11/set:60,
                 from cmultiset.h:33,
                 from sequence.h:30,
                 from murasaki.h:24,
                 from sequence.cc:28:
/usr/include/c++/11/bits/stl_pair.h:211:12: note: ‘struct std::pair<long int, long int>’ declared here
  211 |     struct pair
      |            ^~~~
murasaki.cc: In function ‘void procLocs(LocList&, std::__cxx11::list<Location>&, int, int)’:
murasaki.cc:1008:8: warning: variable ‘revZero’ set but not used [-Wunused-but-set-variable]
 1008 |   bool revZero=false;
      |        ^~~~~~~
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c options.cc
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c ecohash.cc
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c ecolist.cc
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c murasaki_mpi.cc
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c arrayhash.cc
murasaki_mpi.cc: In function ‘void mpi_hasher_client_mode(BitSequence*)’:
murasaki_mpi.cc:561:9: warning: variable ‘send_done’ set but not used [-Wunused-but-set-variable]
  561 |     int send_done;
      |         ^~~~~~~~~
murasaki_mpi.cc: In function ‘word mpi_extract_checkSentQueue(std::vector<std::__cxx11::list<AnchorBlock*> >&, std::vector<std::_Rb_tree_iterator<std::pair<const int, int> > >&, std::multimap<int, int>&)’:
murasaki_mpi.cc:1025:7: error: use of an operand of type ‘bool’ in ‘operator++’ is forbidden in C++17
 1025 |       packetsLeft++;
      |       ^~~~~~~~~~~
mpicxx -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -g -I/usr/include/pstreams -Wall  -DMURASAKI_MPI -DUSE_SHM_SYSV -DLARGESEQ_SUPPORT -c seqread.cc
make[3]: *** [Makefile:189: murasaki_mpi.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:8: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j4 "INSTALL=install --strip-program=true" USE_MPI=YES returned exit code 2
make[1]: *** [debian/rules:22: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:19: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-med-packaging mailing list