[Debian-med-packaging] Bug#1133554: mmseqs2: ftbfs with GCC-16
Emanuele Rocca
ema at debian.org
Mon Apr 13 14:07:18 BST 2026
Package: src:mmseqs2
Version: 18-8cc5c+ds-1
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16
Hi,
mmseqs2 fails to build in a test rebuild on at least amd64 and arm64 with
gcc-16/g++-16, but builds properly with gcc-15/g++-15. The severity of this
report will be raised before the forky release.
The full build log can be found at:
https://people.debian.org/~ema/gcc-16-rebuilds/output-1/mmseqs2_arm64.build.xz
The last lines of the build log are at the end of this report.
To build with GCC 16, either set CC=gcc-16 CXX=g++-16 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures include unused (but set) variables, array subscripts
partly outside array bounds, and new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-16/porting_to.html
Please only close this issue after double-checking that the package can be
built correctly with GCC 16.
Please do not reassign this bug to another package. If a fix in another package
is required, then file a bug for the other package (or clone), and mark this
bug as blocked by the bug in the other package.
[...]
1578: # 1263 "/build/reproducible-path/mmseqs2-18-8cc5c+ds/src/linclust/kmermatcher.cpp" 3
1578: 1
1578: # 1263 "/build/reproducible-path/mmseqs2-18-8cc5c+ds/src/linclust/kmermatcher.cpp"
1578: ); std::cerr.flush(); std::cout.flush(); exit(__status); } while(0);
1578: }
1578: }
1578:
1578: void setKmerLengthAndAlphabet(Parameters ¶meters, size_t aaDbSize, int seqTyp) {
1578: if(Parameters::isEqualDbtype(seqTyp, Parameters::DBTYPE_NUCLEOTIDES)){
1578: if(parameters.kmerSize == 0) {
1578: parameters.kmerSize = std::max(17, static_cast<int>(log(static_cast<float>(aaDbSize))/log(4)));
1578: parameters.spacedKmerPattern = "";
1578: parameters.alphabetSize = 5;
1578: }
1578: if(parameters.kmersPerSequence == 0){
1578: parameters.kmersPerSequence = 60;
1578: }
1578: }else{
1578: if(parameters.kmerSize == 0){
1578: if((parameters.seqIdThr+0.001)>=0.99){
1578: parameters.kmerSize = 14;
1578: parameters.alphabetSize = 21;
1578: }else if((parameters.seqIdThr+0.001)>=0.9){
1578: parameters.kmerSize = 14;
1578: parameters.alphabetSize = 13;
1578: }else{
1578: parameters.kmerSize = std::max(10, static_cast<int>(log(static_cast<float>(aaDbSize))/log(8.7)));
1578: parameters.alphabetSize = 13;
1578: }
1578: parameters.spacedKmerPattern = "";
1578: }
1578: if(parameters.kmersPerSequence == 0){
1578: parameters.kmersPerSequence = 20;
1578: }
1578: }
1578: }
1578:
1578: template std::pair<size_t, size_t> fillKmerPositionArray<0, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578: template std::pair<size_t, size_t> fillKmerPositionArray<1, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578: template std::pair<size_t, size_t> fillKmerPositionArray<2, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578: template std::pair<size_t, size_t> fillKmerPositionArray<0, int>(KmerPosition<int> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578: template std::pair<size_t, size_t> fillKmerPositionArray<1, int>(KmerPosition <int>* kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578: template std::pair<size_t, size_t> fillKmerPositionArray<2, int>(KmerPosition< int> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1578: Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1578:
1578: template KmerPosition<short> *initKmerPositionMemory(size_t size);
1578: template KmerPosition<int> *initKmerPositionMemory(size_t size);
1578:
1578: template size_t computeMemoryNeededLinearfilter<short>(size_t totalKmer);
1578: template size_t computeMemoryNeededLinearfilter<int>(size_t totalKmer);
1578:
1578: template std::vector<std::pair<size_t, size_t>> setupKmerSplits<short>(Parameters &par, BaseMatrix * subMat, DBReader<unsigned int> &seqDbr, size_t totalKmers, size_t splits);
1578: template std::vector<std::pair<size_t, size_t>> setupKmerSplits<int>(Parameters &par, BaseMatrix * subMat, DBReader<unsigned int> &seqDbr, size_t totalKmers, size_t splits);
=== END GCC DUMP ===
make[4]: *** [src/CMakeFiles/mmseqs-framework.dir/build.make:1118: src/CMakeFiles/mmseqs-framework.dir/linclust/kmermatcher.cpp.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory '/build/reproducible-path/mmseqs2-18-8cc5c+ds/obj-aarch64-linux-gnu'
make[3]: *** [CMakeFiles/Makefile2:741: src/CMakeFiles/mmseqs-framework.dir/all] Error 2
make[3]: Leaving directory '/build/reproducible-path/mmseqs2-18-8cc5c+ds/obj-aarch64-linux-gnu'
make[2]: *** [Makefile:139: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/mmseqs2-18-8cc5c+ds/obj-aarch64-linux-gnu'
dh_auto_build: error: cd obj-aarch64-linux-gnu && make -j128 INSTALL="install --strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:41: override_dh_auto_build-arch] Error 25
make[1]: Leaving directory '/build/reproducible-path/mmseqs2-18-8cc5c+ds'
make: *** [debian/rules:20: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
More information about the Debian-med-packaging
mailing list