#1133664 weakforced: ftbfs with GCC-16

#1133664#5
Date:
2026-04-13 13:12:38 UTC
From:
To:
Hi,

weakforced 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/weakforced_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.

[...]


/usr/include/c++/16/bits/cpp_type_traits.h:279:1: error: redefinition of 'struct std::__is_integer<__int128 unsigned>'
  279 | __INT_N(__int128)
      | ^~~~~~~
/usr/include/c++/16/bits/cpp_type_traits.h:264:1: note: previous definition of 'struct std::__is_integer<__int128 unsigned>'
  264 | __INT_N(__GLIBCXX_TYPE_INT_N_0)
      | ^~~~~~~
In file included from /usr/include/c++/16/string:55:
/usr/include/c++/16/bits/stl_algobase.h:1056:3: error: redefinition of 'constexpr __int128 std::__size_to_integer(__int128)'
 1056 |   __size_to_integer(__int128 __n) { return __n; }
      |   ^~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/stl_algobase.h:1031:3: note: 'constexpr __int128 std::__size_to_integer(__int128)' previously defined here
 1031 |   __size_to_integer(__GLIBCXX_TYPE_INT_N_0 __n) { return __n; }
      |   ^~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/stl_algobase.h:1058:3: error: redefinition of 'constexpr __int128 unsigned std::__size_to_integer(__int128 unsigned)'
 1058 |   __size_to_integer(unsigned __int128 __n) { return __n; }
      |   ^~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/stl_algobase.h:1033:3: note: 'constexpr __int128 unsigned std::__size_to_integer(__int128 unsigned)' previously defined here
 1033 |   __size_to_integer(unsigned __GLIBCXX_TYPE_INT_N_0 __n) { return __n; }
      |   ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16/string_view:56,
                 from /usr/include/c++/16/bits/basic_string.h:51,
                 from /usr/include/c++/16/string:58:
/usr/include/c++/16/bits/functional_hash.h:206:3: error: redefinition of 'struct std::hash<__int128>'
  206 |   _Cxx_hashtable_define_trivial_hash(__int128)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/functional_hash.h:179:3: note: previous definition of 'struct std::hash<__int128>'
  179 |   _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_0)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/functional_hash.h:208:3: error: redefinition of 'struct std::hash<__int128 unsigned>'
  208 |   _Cxx_hashtable_define_trivial_hash(__int128 unsigned)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/16/bits/functional_hash.h:181:3: note: previous definition of 'struct std::hash<__int128 unsigned>'
  181 |   _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_0 unsigned)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/16/cstdlib:87,
                 from /usr/include/c++/16/ext/string_conversions.h:45,
                 from /usr/include/c++/16/bits/basic_string.h:4499:
/usr/include/c++/16/bits/std_abs.h:110:3: error: redefinition of 'constexpr __int128 std::abs(__int128)'
  110 |   abs(__int128 __x) { return __x >= 0 ? __x : -__x; }
      |   ^~~
/usr/include/c++/16/bits/std_abs.h:91:3: note: 'constexpr __int128 std::abs(__int128)' previously defined here
   91 |   abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
      |   ^~~
In file included from /usr/include/c++/16/bits/specfun.h:45,
                 from /usr/include/c++/16/cmath:3913,
                 from json11.cpp:24:
/usr/include/c++/16/limits:1664:3: error: redefinition of 'struct std::numeric_limits<__int128>'
 1664 |   __INT_N(__int128, 128,
      |   ^~~~~~~
/usr/include/c++/16/limits:1643:3: note: previous definition of 'struct std::numeric_limits<__int128>'
 1643 |   __INT_N(__GLIBCXX_TYPE_INT_N_0, __GLIBCXX_BITSIZE_INT_N_0,
      |   ^~~~~~~
/usr/include/c++/16/limits:1664:3: error: redefinition of 'struct std::numeric_limits<__int128 unsigned>'
 1664 |   __INT_N(__int128, 128,
      |   ^~~~~~~
/usr/include/c++/16/limits:1643:3: note: previous definition of 'struct std::numeric_limits<__int128 unsigned>'
 1643 |   __INT_N(__GLIBCXX_TYPE_INT_N_0, __GLIBCXX_BITSIZE_INT_N_0,
      |   ^~~~~~~
make[5]: *** [Makefile:530: libjson11_la-json11.lo] Error 1
make[5]: Leaving directory '/build/reproducible-path/weakforced-3.0.0/ext/json11'
make[4]: *** [Makefile:470: all-recursive] Error 1
make[4]: Leaving directory '/build/reproducible-path/weakforced-3.0.0/ext'
make[3]: *** [Makefile:525: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/weakforced-3.0.0'
make[2]: *** [Makefile:457: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/weakforced-3.0.0'
dh_auto_build: error: make -j128 returned exit code 2
make[1]: *** [debian/rules:31: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/weakforced-3.0.0'
make: *** [debian/rules:19: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

#1133664#12
Date:
2026-09-07 23:00:17 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
weakforced, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1133664@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pierre-Elliott Bécue <peb@debian.org> (supplier of updated weakforced package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 31 Aug 2026 01:10:28 +0200
Source: weakforced
Binary: weakforced weakforced-common weakforced-dbgsym weakforced-replfwd weakforced-replfwd-dbgsym weakforced-trackalert weakforced-trackalert-dbgsym
Architecture: source amd64
Version: 3.2.0-1
Distribution: unstable
Urgency: medium
Maintainer: Pierre-Elliott Bécue <peb@debian.org>
Changed-By: Pierre-Elliott Bécue <peb@debian.org>
Description:
 weakforced - Daemon for detecting brute force attacks
 weakforced-common - Common files for all weakforced packages
 weakforced-replfwd - Replication forwarder for weakforced clusters
 weakforced-trackalert - Longterm abuse data reporting and alerter
Closes: 1133664
Changes:
 weakforced (3.2.0-1) unstable; urgency=medium
 .
   * New upstream release 3.2.0
     (Closes: #1133664)
   * d/watch: Add a Version-Type to ensure betas are not uscaned
   * d/control:
     - Add weakforced-replfwd to serve the replication daemon added upstream
     - Drop python3 recommend for weakforced
     - Bump Standards-Version to 4.7.4
   * d/weakforced-replfwd*: Added
   * d/p/0004: Tweak the replfwd.conf file to support the postinst
   * d/weakforced-common helper scripts: drop useless prerm, and fixup postinst
     and postrm
     - Deleting the users might mess uids in future and leave files with no
       owner
     - Adding postinst missing commands
   * d/weakforced{,-trackalert}*: revamp to make things better
     - First, placing the config in /usr/share/doc/xxx is inappropriate
     - Second, postinst used ucf in a bad way (after adding creds, which
       creates a bad template)
     - Third, add the missing options for postinst and use command in postrm
   * d/copyright: refreshed
Checksums-Sha1:
 94d0d1be26d90c320a86d9834b4bbcc13eb731ef 2446 weakforced_3.2.0-1.dsc
 c7be9410f93533fa16e77f104c7da4661e021a94 421093 weakforced_3.2.0.orig.tar.gz
 1417d01c6fdc0bea07eccdae12d3e79396d027b8 48700 weakforced_3.2.0-1.debian.tar.xz
 ced921c540fc82f59c1f24ee65669ab06ef8aa82 48260 weakforced-common_3.2.0-1_amd64.deb
 dae55ec632a7011602b072a80b9a286109d71f79 18670204 weakforced-dbgsym_3.2.0-1_amd64.deb
 e4e3d3deac24db3d95e1df8e7e271ef7704acbdf 8773464 weakforced-replfwd-dbgsym_3.2.0-1_amd64.deb
 a2ff5b1e125269d9f4efa233b898281b96816fc4 398944 weakforced-replfwd_3.2.0-1_amd64.deb
 52f73544ce8d876033fb4d13cb5c1e18adac3a78 11970176 weakforced-trackalert-dbgsym_3.2.0-1_amd64.deb
 d8b5fd69b9ab4d978cdfe3352d4c6f8b1415bde7 556972 weakforced-trackalert_3.2.0-1_amd64.deb
 eab7df21608227a49b7ea70b0cfd2b4816fb1094 17128 weakforced_3.2.0-1_amd64.buildinfo
 095d4b00a9de8010fecb5d52d84dd2c926b2320d 925584 weakforced_3.2.0-1_amd64.deb
Checksums-Sha256:
 fd63b91b90e8eca9d69a8612225cde4f7e8a94e191dc4818e9e5fdb9662c3e0b 2446 weakforced_3.2.0-1.dsc
 f89928c3ff425ae07c413455e11c0ff928700f77925cd52c45bf49684eb7beaa 421093 weakforced_3.2.0.orig.tar.gz
 f5c3a03aead22c9ef6792837df4cbe133d8a85b01afc4a85e74918ba71f88163 48700 weakforced_3.2.0-1.debian.tar.xz
 db4992fae06aa3024a7846b857dceade9fc8e5a11688a07f1ece0a72b0483a97 48260 weakforced-common_3.2.0-1_amd64.deb
 f23e636e19491a2df32a99ac260fca51978c7a7c54a41f754cd127123bbdbcca 18670204 weakforced-dbgsym_3.2.0-1_amd64.deb
 578f94ac5e87f0bddb8180fbb6dd12b81abfc1d87acb0c0c39db6a00ec34ef02 8773464 weakforced-replfwd-dbgsym_3.2.0-1_amd64.deb
 76f409ffd352b1d44ce81d8375fee957c85831aba31dd46388a110b06cc74295 398944 weakforced-replfwd_3.2.0-1_amd64.deb
 aa9270c15b071e5fcde36c16f95ffb638b801250d956f0d01ed034c3ec7bf044 11970176 weakforced-trackalert-dbgsym_3.2.0-1_amd64.deb
 634001a58be32762edd871254ea1a357f77bd575d1a828f9daf00d381aec1897 556972 weakforced-trackalert_3.2.0-1_amd64.deb
 7c4ff536ae05f14416acd75e6f80a32b9822c02945d3542cb51ca10414a705e6 17128 weakforced_3.2.0-1_amd64.buildinfo
 1e8686e9f31c85af3aa64d92d18ce2e9fa29328083beae4c9bb6aecccf4f9382 925584 weakforced_3.2.0-1_amd64.deb
Files:
 40e4f7fce3e3b84063edefbbeca08bb7 2446 web optional weakforced_3.2.0-1.dsc
 2802d49d5569b11203b5cfa752140e57 421093 web optional weakforced_3.2.0.orig.tar.gz
 3a9af041533f851a986eba9abd9871b5 48700 web optional weakforced_3.2.0-1.debian.tar.xz
 b1966caefae8fdb6744aae77de7087b3 48260 web optional weakforced-common_3.2.0-1_amd64.deb
 ae8590a3a8b11c9ed36000338d7cef18 18670204 debug optional weakforced-dbgsym_3.2.0-1_amd64.deb
 c65a14ed31fcb2c4b7faa6fd8b4ae4ab 8773464 debug optional weakforced-replfwd-dbgsym_3.2.0-1_amd64.deb
 ed46d5bc191fdee43f0d70848aad95b1 398944 web optional weakforced-replfwd_3.2.0-1_amd64.deb
 f6130694b1a2e6e173fed0958840c9fa 11970176 debug optional weakforced-trackalert-dbgsym_3.2.0-1_amd64.deb
 b48e8644dc4fa384d8832be007a5989b 556972 web optional weakforced-trackalert_3.2.0-1_amd64.deb
 df9a42622736d59d0b9b0ced72af98b8 17128 web optional weakforced_3.2.0-1_amd64.buildinfo
 cd73b645d17865423c9ccc780940330e 925584 web optional weakforced_3.2.0-1_amd64.deb
-----BEGIN PGP SIGNATURE-----

iQJDBAEBCgAtFiEE5CQeth7uIW7ehIz87iFbn7jEWwsFAmqUuZoPHHBlYkBkZWJp
YW4ub3JnAAoJEO4hW5+4xFsLDeIP/A7Of6HYGMYQHfbBAkruI/MESRo/MrVU9qku
siwDQFybkUTZjikndmqzbSZWF+Xx2OdxzJ1G6dDg89XPps5g0UNOrxpP3XE30x2i
snyGGSerx4jG65mx3WVHPSeTAjHs+D90uSWXkLX9uWQb1jmrj9ikufUJ/L3/fF96
w/GZX9Gq/RiKCfpRsT1qiXlJUqRQVv1yilK02wQZAU3TPlWnKYrjfXSL78t3R1HY
ROp5wi5TIHfSxfFNxpn+sItl9tIS8vOhcguzen3jVMdcW/66uJ1DbU8xT7OqbnGe
l69Y6+mXFOvALSf84DSbPYoiTFU7vPzp45GpKlHGeXtFDBswoEal5qkBp67Nn3Oi
AOcNVOs2F2tvpFZ+w/HPSmYzyApVXVx0Dx93bPZTIAegs9+Nl7oqMO9LqWILdtKV
ormn/WPC+v0BrK97Sc/sINsS0JBtwvA02pCFQ9SNTTZ9L6ihwwdXLzzsBrHzslLa
15IBhKdYUmf2Jpui+Z28AM5nVe+B0QYeVAL9AtP5t8x4ecK7B22IEDa6aov5b1ka
7PwqC6jwai+phbmVji8cxUJwtKQZduxJ+KzGTRgW1Gjsn2JUXA5/H7bv0jR+VFZz
BD1vCWpCRWOlNUcSLn0r6W1jaSiwNomIhE748sxSENkzIfF9rHYnzO1h1UF4j/Y4
yIGeWNKG
=swAo
-----END PGP SIGNATURE-----