[From nobody Tue Apr 21 23:35:06 2026
Received: (at maintonly) by bugs.debian.org; 13 Apr 2026 13:05:52 +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, 42; hammy, 150; neutral, 209; 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]:56742)
 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 1wCGzA-002lTW-02
 for maintonly@bugs.debian.org; Mon, 13 Apr 2026 13:05:52 +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=yOHofk+cx90Ib8Ou0N6rVo2zTMtkLxssD8cwJCwwsBI=; b=wA6tmfGANTDhALOrgodcSESQst
 XzXyHD/nbOj9fxdU9biHDrYdANT2sRKxs66M72B5ebdlL65/4QRtx9FpLGGbHov8OU77oBQ/2slz9
 hGPuFdoyEr5FnX1R+umlIria+/MMscH5Dfn1nlh2ioVjBi9GavDZ9ZTpup7/tIjdhyL2+bJjPHUQG
 9an3nD5kQPhmayk4v/Ggi+fYmZhpWm08DJ9RNUdV7a8KFKVzFZ12ya5f+XdD9F7FlVJbdhOxkotTs
 XEnby3JqU9IDdr6i2JPPCyKYnlHX27A7Ck4CkO419F/G5kdPnaGDwApyLkNamUEb8/kk2sRDlIJ+d
 I2uZQMsA==;
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 1wCGz8-00CJQA-1X
 for maintonly@bugs.debian.org; Mon, 13 Apr 2026 13:05:50 +0000
Date: Mon, 13 Apr 2026 15:05:50 +0200
From: Emanuele Rocca &lt;ema@debian.org&gt;
To: maintonly@bugs.debian.org
Subject: libmmap-allocator: ftbfs with GCC-16
Message-ID: &lt;adzqLgikS4bD1pSX@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:libmmap-allocator
Version: 0.4.0+git20200122.adbfbe1-2.1
Severity: important
Tags: sid forky ftbfs
User: debian-gcc@lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

libmmap-allocator 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/libmmap-allocator_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.

[...]


make[1]: Entering directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
dh_auto_build -- libmmap_allocator.so libmmap_allocator.a
	make -j128 INSTALL=&quot;install --strip-program=true&quot; libmmap_allocator.so libmmap_allocator.a
make[2]: Entering directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -g -Wall -fPIC  -c -o mmap_file_pool.o mmap_file_pool.cpp
g++ -shared -o libmmap_allocator.so mmap_file_pool.o -Wl,-z,relro
ar r libmmap_allocator.a mmap_file_pool.o
ar: creating libmmap_allocator.a
make[2]: Leaving directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
make[1]: Leaving directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
   debian/rules override_dh_auto_test
make[1]: Entering directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
make test
make[2]: Entering directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
g++ -g -O2 -ffile-prefix-map=/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -g -Wall -fPIC  -c -o test_allocator.o test_allocator.cpp
test_allocator.cpp: In function ‘void test_test_file(int, bool)’:
test_allocator.cpp:40:24: warning: unused variable ‘r’ [-Wunused-variable]
   40 |                 size_t r = fread(&amp;j, 1, sizeof(j), f);
      |                        ^
test_allocator.cpp: In function ‘void test_throw_catch()’:
test_allocator.cpp:71:43: warning: catching polymorphic type ‘class mmap_allocator_namespace::mmap_allocator_exception’ by value [-Wcatch-value=]
   71 |         } catch (mmap_allocator_exception e) {
      |                                           ^
test_allocator.cpp:78:43: warning: catching polymorphic type ‘class mmap_allocator_namespace::mmap_allocator_exception’ by value [-Wcatch-value=]
   78 |         } catch (mmap_allocator_exception e) {
      |                                           ^
test_allocator.cpp: In function ‘void test_exceptions()’:
test_allocator.cpp:95:43: warning: catching polymorphic type ‘class mmap_allocator_namespace::mmap_allocator_exception’ by value [-Wcatch-value=]
   95 |         } catch (mmap_allocator_exception e) {
      |                                           ^
test_allocator.cpp:105:43: warning: catching polymorphic type ‘class mmap_allocator_namespace::mmap_allocator_exception’ by value [-Wcatch-value=]
  105 |         } catch (mmap_allocator_exception e) {
      |                                           ^
test_allocator.cpp: In function ‘void test_new_interface()’:
test_allocator.cpp:357:43: warning: catching polymorphic type ‘class mmap_allocator_namespace::mmap_allocator_exception’ by value [-Wcatch-value=]
  357 |         } catch (mmap_allocator_exception e) {
      |                                           ^
In file included from test_allocator.cpp:1:
mmap_allocator.h: In instantiation of ‘T* mmap_allocator_namespace::mmap_allocator&lt;T&gt;::allocate(size_type, const void*) [with T = int; pointer = int*; size_type = long unsigned int]’:
/usr/include/c++/16/bits/alloc_traits.h:385:28:   required from ‘static constexpr std::allocator_traits&lt; &lt;template-parameter-1-1&gt; &gt;::pointer std::allocator_traits&lt; &lt;template-parameter-1-1&gt; &gt;::allocate(_Alloc&amp;, size_type) [with _Alloc = mmap_allocator_namespace::mmap_allocator&lt;int&gt;; pointer = int*; size_type = long unsigned int]’
  385 |       { return __a.allocate(__n); }
      |                ~~~~~~~~~~~~^~~~~
/usr/include/c++/16/bits/stl_vector.h:389:33:   required from ‘constexpr std::_Vector_base&lt;_Tp, _Alloc&gt;::pointer std::_Vector_base&lt;_Tp, _Alloc&gt;::_M_allocate(std::size_t) [with _Tp = int; _Alloc = mmap_allocator_namespace::mmap_allocator&lt;int&gt;; pointer = int*; std::size_t = long unsigned int]’
  389 |         return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
      |                           ~~~~~~~~~~~~~^~~~~~~~~~~~~~
/usr/include/c++/16/bits/vector.tcc:82:33:   required from ‘constexpr void std::vector&lt;_Tp, _Alloc&gt;::reserve(size_type) [with _Tp = int; _Alloc = mmap_allocator_namespace::mmap_allocator&lt;int&gt;; size_type = long unsigned int]’
   82 |               __tmp = this-&gt;_M_allocate(__n);
      |                       ~~~~~~~~~~~~~~~~~^~~~~
mmappable_vector.h:71:17:   required from ‘void mmap_allocator_namespace::mmappable_vector&lt;T, A&gt;::mmap_file(size_t) [with T = int; A = mmap_allocator_namespace::mmap_allocator&lt;int&gt;; size_t = long unsigned int]’
   71 |                         Base::reserve(n);
      |                         ~~~~~~~~~~~~~^~~
test_allocator.cpp:129:27:   required from here
  129 |         int_vec_default.mmap_file(1024);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
mmap_allocator.h:39:67: error: no matching function for call to ‘mmap_allocator_namespace::mmap_allocator&lt;int&gt;::allocate(mmap_allocator_namespace::mmap_allocator&lt;int&gt;::size_type&amp;, const void*&amp;)’
   39 |                                 return std::allocator&lt;T&gt;::allocate(n, hint);
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
  • there is 1 candidate
In file included from /usr/include/c++/16/memory:67,
                 from mmap_allocator.h:4:
    • candidate 1: ‘constexpr _Tp* std::allocator&lt; &lt;template-parameter-1-1&gt; &gt;::allocate(std::size_t) [with _Tp = int; std::size_t = long unsigned int]’
      /usr/include/c++/16/bits/allocator.h:194:7:
        194 |       allocate(size_t __n)
            |       ^~~~~~~~
      • candidate expects 1 argument, 2 provided
make[2]: *** [&lt;builtin&gt;: test_allocator.o] Error 1
make[2]: Leaving directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
make[1]: *** [debian/rules:13: override_dh_auto_test] Error 2
make[1]: Leaving directory '/build/reproducible-path/libmmap-allocator-0.4.0+git20200122.adbfbe1'
make: *** [debian/rules:6: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
]