[From nobody Wed Apr 22 03:47:05 2026
Received: (at maintonly) by bugs.debian.org; 13 Apr 2026 13:11:20 +0000
X-Spam-Checker-Version: SpamAssassin 4.0.1-bugs.debian.org_2005_01_02
 (2024-03-25) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-116.7 required=4.0 tests=BAYES_00,
 BODY_INCLUDES_PACKAGE,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,
 DKIM_VALID_AU,DKIM_VALID_EF,FROMDEVELOPER,FVGT_m_MULTI_ODD,HAS_PACKAGE,
 SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST
 autolearn=ham autolearn_force=no
 version=4.0.1-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 156; hammy, 150; neutral, 181; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;ema@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:41398)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;ema@debian.org&gt;) id 1wCH4S-002n38-00
 for maintonly@bugs.debian.org; Mon, 13 Apr 2026 13:11:20 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Transfer-Encoding:Content-Type
 :MIME-Version:Message-ID:Subject:To:From:Date:Reply-To:Cc:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=xP/zqbFY+V49BSVu/cbzCmzUpsPwhcHF2Yba0/QSJtg=; b=fwt9Hh5W/A6gqHDPU1Go1pzkPG
 iSdX//QOz4hApIuu7j/A92A1QsPVLifB1cABUp+5u4e2N9NymLnDJEx4gIx7k6ZV4bZL2pdFmGy0N
 VTZ+JMRiZOwl1LMDED2VYxpOnlBsPJYThES9O5ZIMEdbTrd0HGLEyvWIdAm/Ot62VzgtEz2qZ6czq
 pvwx50YRGdPZ4iWdYe+69QhHQv2U8p9jHgrqaevIBYHY/0YlX6kgr7m3zXHmxTvWPew6Yj47cy+xL
 63hsuSelKbXj2WGQL/AJyaoXQu2ASrZ5qqyaNqZGC8kAysio9fHjU+x8NSMRDiVmgoMzQAtAc13o/
 nrc5EGdQ==;
Received: from authenticated user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.96) (envelope-from &lt;ema@debian.org&gt;) id 1wCH4Q-00CJiX-0z
 for maintonly@bugs.debian.org; Mon, 13 Apr 2026 13:11:18 +0000
Date: Mon, 13 Apr 2026 15:11:17 +0200
From: Emanuele Rocca &lt;ema@debian.org&gt;
To: maintonly@bugs.debian.org
Subject: stacks: ftbfs with GCC-16
Message-ID: &lt;adzrdZo74hMnVYrh@ariel.home&gt;
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
X-Debian-User: ema
Delivered-To: maintonly@bugs.debian.org

Package: src:stacks
Version: 2.68+dfsg-2
Severity: important
Tags: sid forky ftbfs
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

stacks 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/stacks_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.

[...]


g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/sstacks.o src/sstacks.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/process_radtags.o src/process_radtags.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/clean.o src/clean.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/file_io.o src/file_io.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/write.o src/write.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/process_shortreads.o src/process_shortreads.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/kmer_filter.o src/kmer_filter.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/clone_filter.o src/clone_filter.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/populations.o src/populations.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/bootstrap.o src/bootstrap.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/export_formats.o src/export_formats.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/mapping_utils.o src/mapping_utils.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/genotype_dictionaries.o src/genotype_dictionaries.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/PopSum.o src/PopSum.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/Hwp.o src/Hwp.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/phasedstacks.o src/phasedstacks.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/tsv2bam.o src/tsv2bam.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/gstacks.o src/gstacks.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/debruijn.o src/debruijn.cc
g++ -std=gnu++11 -DHAVE_CONFIG_H -I.  -fopenmp -I./htslib -Wdate-time -D_FORTIFY_SOURCE=2  -g -O2 -ffile-prefix-map=/build/reproducible-path/stacks-2.68+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -c -o src/SuffixTree.o src/SuffixTree.cc
src/MetaPopInfo.cc: In member function ‘void MetaPopInfo::fill_pop_indexes(std::map&lt;int, std::pair&lt;int, int&gt; &gt;&amp;) const’:
src/MetaPopInfo.cc:427:30: warning: narrowing conversion of ‘i’ from ‘std::size_t’ {aka ‘long unsigned int’} to ‘int’ [-Wnarrowing]
  427 |         pop_indexes.insert( {i, {pops_[i].first_sample, pops_[i].last_sample}} );
      |                              ^
src/models.cc: In member function ‘double MarukiLowModel::calc_ln_weighted_sum(double, double, double, const LikData&amp;) const’:
src/models.cc:736:30: error: ‘numeric_limits’ is not a member of ‘std’
  736 |     if (weighted_sum &gt;= std::numeric_limits&lt;double&gt;::min()) {
      |                              ^~~~~~~~~~~~~~
src/models.cc:736:45: error: expected primary-expression before ‘double’
  736 |     if (weighted_sum &gt;= std::numeric_limits&lt;double&gt;::min()) {
      |                                             ^~~~~~
src/models.cc:736:45: error: expected ‘)’ before ‘double’
  736 |     if (weighted_sum &gt;= std::numeric_limits&lt;double&gt;::min()) {
      |        ~                                    ^~~~~~
      |                                             )
src/models.cc: In member function ‘virtual SiteCall MarukiLowModel::call(const SiteCounts&amp;) const’:
src/models.cc:865:31: error: ‘numeric_limits’ is not a member of ‘std’
  865 |     double lnl_dimorph = std::numeric_limits&lt;double&gt;::lowest();
      |                               ^~~~~~~~~~~~~~
src/models.cc:865:46: error: expected primary-expression before ‘double’
  865 |     double lnl_dimorph = std::numeric_limits&lt;double&gt;::lowest();
      |                                              ^~~~~~
In file included from /usr/include/c++/16/cassert:46,
                 from src/constants.h:39,
                 from src/models.h:24,
                 from src/models.cc:30:
src/models.cc:883:31: error: ‘numeric_limits’ is not a member of ‘std’
  883 |     assert(lnl_dimorph &gt; std::numeric_limits&lt;double&gt;::lowest());
      |                               ^~~~~~~~~~~~~~
src/models.cc:883:46: error: expected primary-expression before ‘double’
  883 |     assert(lnl_dimorph &gt; std::numeric_limits&lt;double&gt;::lowest());
      |                                              ^~~~~~
src/models.cc:883:46: error: expected ‘)’ before ‘double’
src/models.cc:883:46: error: expected ‘)’ before ‘double’
src/models.cc:883:5: note: to match this ‘(’
  883 |     assert(lnl_dimorph &gt; std::numeric_limits&lt;double&gt;::lowest());
      |     ^~~~~~
src/models.cc: In member function ‘double MarukiLowModel::calc_ln_weighted_sum(double, double, double, const LikData&amp;) const’:
src/models.cc:744:1: warning: control reaches end of non-void function [-Wreturn-type]
  744 | }
      | ^
make[3]: *** [Makefile:1121: src/models.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/build/reproducible-path/stacks-2.68+dfsg'
make[2]: *** [Makefile:1138: all-recursive] Error 1
make[2]: Leaving directory '/build/reproducible-path/stacks-2.68+dfsg'
make[1]: *** [Makefile:778: all] Error 2
make[1]: Leaving directory '/build/reproducible-path/stacks-2.68+dfsg'
dh_auto_build: error: make -j128 returned exit code 2
make: *** [debian/rules:11: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
]