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