[Debian-med-packaging] Bug#1133522: liblemon: ftbfs with GCC-16
Emanuele Rocca
ema at debian.org
Mon Apr 13 14:05:47 BST 2026
Package: src:liblemon
Version: 1.3.1+dfsg-7
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16
Hi,
liblemon 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/liblemon_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.
[...]
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:306:19: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::MaxMatching<lemon::SmartGraph>::Status>::Allocator’ {aka ‘class std::allocator<lemon::MaxMatching<lemon::SmartGraph>::Status>’} has no member named ‘construct’
306 | allocator.construct(&(values[id]), Value());
| ~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h: In instantiation of ‘void lemon::ArrayMap<_Graph, _Item, _Value>::add(const Key&) [with _Graph = lemon::GraphExtender<lemon::SmartGraphBase>; _Item = lemon::SmartGraphBase::Node; _Value = lemon::SmartGraphBase::Arc; Key = lemon::SmartGraphBase::Node]’:
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:208:18: required from here
208 | virtual void add(const Key& key) {
| ^~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:221:23: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘construct’
221 | allocator.construct(&(new_values[jd]), values[jd]);
| ~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:222:23: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘destroy’
222 | allocator.destroy(&(values[jd]));
| ~~~~~~~~~~^~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:229:17: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘construct’
229 | allocator.construct(&(values[id]), Value());
| ~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h: In instantiation of ‘void lemon::ArrayMap<_Graph, _Item, _Value>::add(const std::vector<_Item>&) [with _Graph = lemon::GraphExtender<lemon::SmartGraphBase>; _Item = lemon::SmartGraphBase::Node; _Value = lemon::SmartGraphBase::Arc]’:
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:236:18: required from here
236 | virtual void add(const std::vector<Key>& keys) {
| ^~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:263:21: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘construct’
263 | allocator.construct(&(new_values[id]), values[id]);
| ~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:264:21: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘destroy’
264 | allocator.destroy(&(values[id]));
| ~~~~~~~~~~^~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:272:19: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘construct’
272 | allocator.construct(&(values[id]), Value());
| ~~~~~~~~~~^~~~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h: In instantiation of ‘void lemon::ArrayMap<_Graph, _Item, _Value>::erase(const Key&) [with _Graph = lemon::GraphExtender<lemon::SmartGraphBase>; _Item = lemon::SmartGraphBase::Node; _Value = lemon::SmartGraphBase::Arc; Key = lemon::SmartGraphBase::Node]’:
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:280:18: required from here
280 | virtual void erase(const Key& key) {
| ^~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:282:17: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘destroy’
282 | allocator.destroy(&(values[id]));
| ~~~~~~~~~~^~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h: In instantiation of ‘void lemon::ArrayMap<_Graph, _Item, _Value>::erase(const std::vector<_Item>&) [with _Graph = lemon::GraphExtender<lemon::SmartGraphBase>; _Item = lemon::SmartGraphBase::Node; _Value = lemon::SmartGraphBase::Arc]’:
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:289:18: required from here
289 | virtual void erase(const std::vector<Key>& keys) {
| ^~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:292:19: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘destroy’
292 | allocator.destroy(&(values[id]));
| ~~~~~~~~~~^~~~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h: In instantiation of ‘void lemon::ArrayMap<_Graph, _Item, _Value>::build() [with _Graph = lemon::GraphExtender<lemon::SmartGraphBase>; _Item = lemon::SmartGraphBase::Node; _Value = lemon::SmartGraphBase::Arc]’:
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:300:18: required from here
300 | virtual void build() {
| ^~~~~
/build/reproducible-path/liblemon-1.3.1+dfsg/lemon/bits/array_map.h:306:19: error: ‘lemon::ArrayMap<lemon::GraphExtender<lemon::SmartGraphBase>, lemon::SmartGraphBase::Node, lemon::SmartGraphBase::Arc>::Allocator’ {aka ‘class std::allocator<lemon::SmartGraphBase::Arc>’} has no member named ‘construct’
306 | allocator.construct(&(values[id]), Value());
| ~~~~~~~~~~^~~~~~~~~
make[4]: *** [tools/CMakeFiles/dimacs-solver.dir/build.make:82: tools/CMakeFiles/dimacs-solver.dir/dimacs-solver.cc.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu'
make[3]: *** [CMakeFiles/Makefile2:658: tools/CMakeFiles/dimacs-solver.dir/all] Error 2
[ 88%] Linking CXX executable dimacs-to-lgf
cd /build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/tools && /usr/bin/cmake -E cmake_link_script CMakeFiles/dimacs-to-lgf.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/liblemon-1.3.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy -Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings -Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align -Wsign-promo -Woverloaded-virtual -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/dimacs-to-lgf.dir/link.d "CMakeFiles/dimacs-to-lgf.dir/dimacs-to-lgf.cc.o" -o dimacs-to-lgf -L/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/lemon -Wl,-rpath,/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/lemon: ../lemon/liblemon.so.1.3.1 /usr/lib/aarch64-linux-gnu/libglpk.so
make[4]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu'
[ 88%] Built target dimacs-to-lgf
[ 92%] Linking CXX executable lgf_demo
cd /build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/demo && /usr/bin/cmake -E cmake_link_script CMakeFiles/lgf_demo.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/build/reproducible-path/liblemon-1.3.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -W -Wunused -Wformat=2 -Wctor-dtor-privacy -Wnon-virtual-dtor -Wno-char-subscripts -Wwrite-strings -Wno-char-subscripts -Wreturn-type -Wcast-qual -Wcast-align -Wsign-promo -Woverloaded-virtual -fno-strict-aliasing -Wold-style-cast -Wno-unknown-pragmas -Wl,-z,relro -Wl,-z,now -Wl,--dependency-file=CMakeFiles/lgf_demo.dir/link.d CMakeFiles/lgf_demo.dir/lgf_demo.cc.o -o lgf_demo -L/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/lemon -Wl,-rpath,/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu/lemon ../lemon/liblemon.so.1.3.1 /usr/lib/aarch64-linux-gnu/libglpk.so
make[4]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu'
[ 92%] Built target lgf_demo
make[3]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg/obj-aarch64-linux-gnu'
make[2]: *** [Makefile:169: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg/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[1]: *** [debian/rules:13: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/liblemon-1.3.1+dfsg'
make: *** [debian/rules:10: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
More information about the Debian-med-packaging
mailing list