[Debian-med-packaging] Bug#1075435: rapmap: ftbfs with GCC-14

Matthias Klose doko at debian.org
Wed Jul 3 13:41:48 BST 2024


Package: src:rapmap
Version: 0.15.0+dfsg-4
Severity: important
Tags: sid trixie
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-14

[This bug is targeted to the upcoming trixie 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-14/g++-14, but succeeds to build with gcc-13/g++-13. The
severity of this report will be raised before the trixie release.

The full build log can be found at:
http://qa-logs.debian.net/2024/07/01/rapmap_0.15.0+dfsg-4_unstable_gccexp.log
The last lines of the build log are at the end of this report.

To build with GCC 14, either set CC=gcc-14 CXX=g++-14 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-14/porting_to.html

[...]
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:1435:21:   required from ‘void spp::sparsegroup<T, Alloc>::_set(allocator_type&, size_type, size_type, Val&) [with Val = std::pair<const int, int>; T = std::pair<const int, int>; Alloc = spp::libc_allocator<std::pair<const int, int> >; allocator_type = spp::libc_allocator<std::pair<const int, int> >; size_type = unsigned char]’
 1435 |             _set_aux(alloc, offset, val, check_alloc_type());
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:1453:13:   required from ‘spp::sparsegroup<T, Alloc>::value_type* spp::sparsegroup<T, Alloc>::set(allocator_type&, size_type, Val&) [with Val = std::pair<const int, int>; T = std::pair<const int, int>; Alloc = spp::libc_allocator<std::pair<const int, int> >; pointer = std::pair<const int, int>*; allocator_type = spp::libc_allocator<std::pair<const int, int> >; size_type = unsigned char]’
 1453 |         _set(alloc, i, offset, val);            // may change _group pointer
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:2241:28:   required from ‘spp::sparsetable<T, Alloc>::value_type& spp::sparsetable<T, Alloc>::set(size_type, Val&) [with Val = std::pair<const int, int>; T = std::pair<const int, int>; Alloc = spp::libc_allocator<std::pair<const int, int> >; reference = std::pair<const int, int>&; size_type = long unsigned int]’
 2241 |         pointer p(group.set(_alloc, pos_in_group(i), val));
      |                   ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:3171:25:   required from ‘spp::sparse_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::value_type& spp::sparse_hashtable<Value, Key, HashFcn, ExtractKey, SetKey, EqualKey, Alloc>::_insert_at(T&, size_type, bool) [with T = std::pair<const int, int>; Value = std::pair<const int, int>; Key = int; HashFcn = spp::spp_hash<int>; ExtractKey = spp::sparse_hash_map<int, int, spp::spp_hash<int>, std::equal_to<int>, spp::libc_allocator<std::pair<const int, int> > >::SelectKey; SetKey = spp::sparse_hash_map<int, int, spp::spp_hash<int>, std::equal_to<int>, spp::libc_allocator<std::pair<const int, int> > >::SetKey; EqualKey = std::equal_to<int>; Alloc = spp::libc_allocator<std::pair<const int, int> >; reference = std::pair<const int, int>&; size_type = long unsigned int]’
 3171 |         return table.set(pos, obj);
      |                ~~~~~~~~~^~~~~~~~~~
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:3288:38:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/<<PKGBUILDDIR>>/include/FrugalBooMap.hpp:162:30:   required from ‘FrugalBooMap<KeyT, ValT>::IteratorT FrugalBooMap<KeyT, ValT>::find(const KeyT&) [with KeyT = long unsigned int; ValueT = rapmap::utils::SAInterval<int>; IteratorT = KVProxy<__gnu_cxx::__normal_iterator<int*, std::vector<int> >, rapmap::utils::SAInterval<int> >]’
  162 |                 l = overflow_[ind];
      |                     ~~~~~~~~~^
/<<PKGBUILDDIR>>/include/SACollector.hpp:196:25:   required from ‘bool SACollector<RapMapIndexT>::operator()(std::string&, SASearcher<RapMapIndexT>&, rapmap::hit_manager::HitCollectorInfo<rapmap::utils::SAIntervalHit<typename RapMapIndexT::IndexType> >&) [with RapMapIndexT = RapMapSAIndex<int, FrugalBooMap<long unsigned int, rapmap::utils::SAInterval<int> > >; std::string = std::__cxx11::basic_string<char>; typename RapMapIndexT::IndexType = int]’
  196 |       merIt = khash.find(mer.word(0));//get_bits(0, 2 * k));
      |               ~~~~~~~~~~^~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/RapMapSAMapper.cpp:472:35:   required from ‘void processReadsPairSA(paired_parser*, RapMapIndexT&, MutexT*, std::shared_ptr<spdlog::logger>, HitCounters&, MappingOpts*) [with RapMapIndexT = RapMapSAIndex<int, FrugalBooMap<long unsigned int, rapmap::utils::SAInterval<int> > >; MutexT = std::mutex; paired_parser = fastx_parser::FastxParser<fastx_parser::ReadPair>; HitCounters = rapmap::utils::HitCounters]’
  472 |             bool lh = hitCollector(rpair.first.seq,
      |                       ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
  473 |                                    saSearcher,
      |                                    ~~~~~~~~~~~
  474 |                                    leftHCInfo);
      |                                    ~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/RapMapSAMapper.cpp:765:37:   required from ‘bool spawnProcessReadsThreads(uint32_t, paired_parser*, RapMapIndexT&, MutexT&, std::shared_ptr<spdlog::logger>, HitCounters&, MappingOpts*) [with RapMapIndexT = RapMapSAIndex<int, FrugalBooMap<long unsigned int, rapmap::utils::SAInterval<int> > >; MutexT = std::mutex; uint32_t = unsigned int; paired_parser = fastx_parser::FastxParser<fastx_parser::ReadPair>; HitCounters = rapmap::utils::HitCounters]’
  765 |                 threads.emplace_back(processReadsPairSA<RapMapIndexT, MutexT>,
      |                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  766 |                                      parser,
      |                                      ~~~~~~~
  767 |                                      std::ref(rmi),
      |                                      ~~~~~~~~~~~~~~
  768 |                                      &iomutex,
      |                                      ~~~~~~~~~
  769 |                                      outQueue,
      |                                      ~~~~~~~~~
  770 |                                      std::ref(hctr),
      |                                      ~~~~~~~~~~~~~~~
  771 |                                      mopts);
      |                                      ~~~~~~
/<<PKGBUILDDIR>>/src/RapMapSAMapper.cpp:872:31:   required from ‘bool mapReads(RapMapIndexT&, std::shared_ptr<spdlog::logger>, MappingOpts*) [with RapMapIndexT = RapMapSAIndex<int, FrugalBooMap<long unsigned int, rapmap::utils::SAInterval<int> > >]’
  872 |       spawnProcessReadsThreads(nthread, pairParserPtr.get(), rmi, iomutex,
      |       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  873 |                                outLog, hctrs, mopts);
      |                                ~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/src/RapMapSAMapper.cpp:1232:31:   required from here
 1232 |             success = mapReads(rmi, consoleLog, &mopts);
      |                       ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/<<PKGBUILDDIR>>/include/sparsepp/spp.h:1339:40: warning: casting ‘spp::sparsegroup<std::pair<const int, int>, spp::libc_allocator<std::pair<const int, int> > >::value_type’ {aka ‘std::pair<const int, int>’} to ‘spp::sparsegroup<std::pair<const int, int>, spp::libc_allocator<std::pair<const int, int> > >::mutable_reference’ {aka ‘std::pair<int, int>&’} does not use ‘constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = const int; _U2 = int; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = true; _T1 = int; _T2 = int]’ [-Wcast-user-defined]
 1339 |         ::new (p) value_type(std::move((mutable_reference)val));
      |                                        ^~~~~~~~~~~~~~~~~~~~~~
make[4]: *** [src/CMakeFiles/rapmap.dir/build.make:149: src/CMakeFiles/rapmap.dir/RapMapSAIndex.cpp.o] Error 1
cc1plus: note: unrecognized command-line option ‘-Wno-unused-local-typedef’ may have been intended to silence earlier diagnostics
make[4]: *** [src/CMakeFiles/rapmap.dir/build.make:93: src/CMakeFiles/rapmap.dir/RapMapSAIndexer.cpp.o] Error 1
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-unused-local-typedef’ may have been intended to silence earlier diagnostics
make[4]: *** [src/CMakeFiles/rapmap.dir/build.make:121: src/CMakeFiles/rapmap.dir/RapMapSAMapper.cpp.o] Error 1
cc1plus: note: unrecognized command-line option ‘-Wno-unused-local-typedef’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-unused-local-typedef’ may have been intended to silence earlier diagnostics
make[4]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[3]: *** [CMakeFiles/Makefile2:136: src/CMakeFiles/rapmap.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [Makefile:169: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j8 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:23: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:17: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Debian-med-packaging mailing list