[Debian-med-packaging] Bug#1133548: metaeuk: ftbfs with GCC-16

Emanuele Rocca ema at debian.org
Mon Apr 13 14:07:00 BST 2026


Package: src:metaeuk
Version: 7-bba0d80+ds-2
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

metaeuk 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/metaeuk_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.

[...]


1498:         Debug(Debug::ERROR) << "Cannot close file " << fileName << "\n";
1498:         do { int __status = (
1498: # 1278 "/build/reproducible-path/metaeuk-7-bba0d80+ds/lib/mmseqs/src/linclust/kmermatcher.cpp" 3
1498:        1
1498: # 1278 "/build/reproducible-path/metaeuk-7-bba0d80+ds/lib/mmseqs/src/linclust/kmermatcher.cpp"
1498:        ); std::cerr.flush(); std::cout.flush(); exit(__status); } while(0);
1498:     }
1498: }
1498: 
1498: void setKmerLengthAndAlphabet(Parameters &parameters, size_t aaDbSize, int seqTyp) {
1498:     if(Parameters::isEqualDbtype(seqTyp, Parameters::DBTYPE_NUCLEOTIDES)){
1498:         if(parameters.kmerSize == 0) {
1498:             parameters.kmerSize = std::max(17, static_cast<int>(log(static_cast<float>(aaDbSize))/log(4)));
1498:             parameters.spacedKmerPattern = "";
1498:             parameters.alphabetSize = 5;
1498:         }
1498:         if(parameters.kmersPerSequence == 0){
1498:             parameters.kmersPerSequence = 60;
1498:         }
1498:     }else{
1498:         if(parameters.kmerSize == 0){
1498:             if((parameters.seqIdThr+0.001)>=0.99){
1498:                 parameters.kmerSize = 14;
1498:                 parameters.alphabetSize = 21;
1498:             }else if((parameters.seqIdThr+0.001)>=0.9){
1498:                 parameters.kmerSize = 14;
1498:                 parameters.alphabetSize = 13;
1498:             }else{
1498:                 parameters.kmerSize = std::max(10, static_cast<int>(log(static_cast<float>(aaDbSize))/log(8.7)));
1498:                 parameters.alphabetSize = 13;
1498:             }
1498:             parameters.spacedKmerPattern = "";
1498:         }
1498:         if(parameters.kmersPerSequence == 0){
1498:             parameters.kmersPerSequence = 20;
1498:         }
1498:     }
1498: }
1498: 
1498: template std::pair<size_t, size_t> fillKmerPositionArray<0, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                     Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: template std::pair<size_t, size_t> fillKmerPositionArray<1, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                     Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: template std::pair<size_t, size_t> fillKmerPositionArray<2, short>(KmerPosition<short> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                     Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: template std::pair<size_t, size_t> fillKmerPositionArray<0, int>(KmerPosition<int> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                   Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: template std::pair<size_t, size_t> fillKmerPositionArray<1, int>(KmerPosition <int>* kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                   Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: template std::pair<size_t, size_t> fillKmerPositionArray<2, int>(KmerPosition< int> * kmerArray, size_t kmerArraySize, DBReader<unsigned int> &seqDbr,
1498:                                                                   Parameters & par, BaseMatrix * subMat, bool hashWholeSequence, size_t hashStartRange, size_t hashEndRange, size_t * hashDistribution);
1498: 
1498: template KmerPosition<short> *initKmerPositionMemory(size_t size);
1498: template KmerPosition<int> *initKmerPositionMemory(size_t size);
1498: 
1498: template size_t computeMemoryNeededLinearfilter<short>(size_t totalKmer);
1498: template size_t computeMemoryNeededLinearfilter<int>(size_t totalKmer);
1498: 
1498: 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);
1498: 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[3]: *** [lib/mmseqs/src/CMakeFiles/mmseqs-framework.dir/build.make:1076: lib/mmseqs/src/CMakeFiles/mmseqs-framework.dir/linclust/kmermatcher.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/metaeuk-7-bba0d80+ds/obj-aarch64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:848: lib/mmseqs/src/CMakeFiles/mmseqs-framework.dir/all] Error 2
make[2]: Leaving directory '/build/reproducible-path/metaeuk-7-bba0d80+ds/obj-aarch64-linux-gnu'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/metaeuk-7-bba0d80+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: *** [debian/rules:14: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2



More information about the Debian-med-packaging mailing list