--- Begin Message ---
Package: src:mccs
Version: 1:1.1-9
Severity: normal
Tags: sid bookworm
User: debian-...@lists.debian.org
Usertags: ftbfs-gcc-11
[This bug is not targeted to the upcoming bullseye release]
Please keep this issue open in the bug tracker for the package it
was filed for. If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.
The package fails to build in a test rebuild on at least amd64 with
gcc-11/g++-11, but succeeds to build with gcc-10/g++-10. The
severity of this report will be raised before the bookworm release,
so nothing has to be done for the bullseye release.
The full build log can be found at:
http://people.debian.org/~doko/logs/20210228/filtered/gcc11/mccs_1.1-9_unstable_gcc11.log
The last lines of the build log are at the end of this report.
To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.
apt-get -t=experimental install g++
Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-11/porting_to.html
GCC 11 defaults to the GNU++17 standard. If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.
[...]
| ^~
sources/pblib_solver.c:99:16: note: ‘sprintf’ output 31 or more bytes (assuming
1051) into a destination of size 1024
99 | sprintf(command, "cat %s >> %s; %s -f %s > %s 2> /dev/null",
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
100 | ctpbfilename, pbfilename, pb_solver, pbfilename,
pboutfilename);
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/removed_criteria.c -o objs/removed_criteria.o
sources/removed_criteria.c: In member function ‘virtual CUDFcoefficient
removed_criteria::upper_bound()’:
sources/removed_criteria.c:98:70: warning: ‘*’ in boolean context, suggest ‘&&’
instead [-Wint-in-bool-context]
98 | CUDFcoefficient removed_criteria::upper_bound() { return lambda_crit *
(lambda_crit >= 0)?ub:lb; }
|
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
sources/removed_criteria.c: In member function ‘virtual CUDFcoefficient
removed_criteria::lower_bound()’:
sources/removed_criteria.c:101:70: warning: ‘*’ in boolean context, suggest
‘&&’ instead [-Wint-in-bool-context]
101 | CUDFcoefficient removed_criteria::lower_bound() { return lambda_crit *
(lambda_crit >= 0)?lb:ub; }
|
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/changed_criteria.c -o objs/changed_criteria.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/new_criteria.c -o objs/new_criteria.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/notuptodate_criteria.c -o objs/notuptodate_criteria.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/nunsat_criteria.c -o objs/nunsat_criteria.o
sources/nunsat_criteria.c: In member function ‘virtual void
nunsat_criteria::initialize(CUDFproblem*, abstract_solver*)’:
sources/nunsat_criteria.c:86:29: warning: suggest explicit braces to avoid
ambiguous ‘else’ [-Wdangling-else]
86 | else if (comp(jpkg->first, (*disjunct)->version))
| ^
sources/nunsat_criteria.c:81:20: warning: suggest explicit braces to avoid
ambiguous ‘else’ [-Wdangling-else]
81 | if (! self_depend)
| ^
sources/nunsat_criteria.c: In member function ‘virtual int
nunsat_criteria::add_constraints()’:
sources/nunsat_criteria.c:209:29: warning: suggest explicit braces to avoid
ambiguous ‘else’ [-Wdangling-else]
209 | else if (comp(jpkg->first, (*disjunct)->version))
| ^
sources/nunsat_criteria.c:204:20: warning: suggest explicit braces to avoid
ambiguous ‘else’ [-Wdangling-else]
204 | if (! self_depend)
| ^
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/count_criteria.c -o objs/count_criteria.o
sources/count_criteria.c:53:31: warning: invalid suffix on literal; C++11
requires a space between literal and string macro [-Wliteral-suffix]
53 | if (verbosity > 2) printf("count criteria default value for %s =
"CUDFflags"\n", property_name, default_value);
| ^
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/unaligned_criteria.c -o objs/unaligned_criteria.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/lexicographic_combiner.c -o objs/lexicographic_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/lexagregate_combiner.c -o objs/lexagregate_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/agregate_combiner.c -o objs/agregate_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/lexsemiagregate_combiner.c -o objs/lexsemiagregate_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/leximin_combiner.c -o objs/leximin_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/leximax_combiner.c -o objs/leximax_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/lexleximin_combiner.c -o objs/lexleximin_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/lexleximax_combiner.c -o objs/lexleximax_combiner.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
sources/cudf_reductions.c -o objs/cudf_reductions.o
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs
-I/usr/include/lpsolve sources/lpsolve_solver.c -o objs/lpsolve_solver.o
sources/lpsolve_solver.c:88:35: warning: invalid suffix on literal; C++11
requires a space between literal and string macro [-Wliteral-suffix]
88 | if (verbosity > 0) printf(">>> Objective %d value :
"CUDFflags"\n", k, objval);
| ^
bison -v --name-prefix=cudf --file-prefix=objs/cudf libsrcs/cudf.y
g++ -Wall -O6 -Wl,-z,relro -DUSELPSOLVE -c -Iobjs -Isources -Ilibsrcs -fPIC
objs/cudf.tab.c -o objs/cudf.tab.o
In file included from /usr/include/c++/11/set:60,
from libsrcs/cudf.h:18,
from libsrcs/cudf.y:14:
/usr/include/c++/11/bits/stl_tree.h: In instantiation of ‘static const _Key&
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_S_key(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_Const_Link_type) [with _Key = CUDFVersionedPackage*; _Val =
CUDFVersionedPackage*; _KeyOfValue = std::_Identity<CUDFVersionedPackage*>;
_Compare = CUDFPackage_comparator; _Alloc =
std::allocator<CUDFVersionedPackage*>; std::_Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::_Const_Link_type = const
std::_Rb_tree_node<CUDFVersionedPackage*>*]’:
/usr/include/c++/11/bits/stl_tree.h:1903:36: required from
‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_M_lower_bound(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_Link_type, std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare,
_Alloc>::_Base_ptr, const _Key&) [with _Key = CUDFVersionedPackage*; _Val =
CUDFVersionedPackage*; _KeyOfValue = std::_Identity<CUDFVersionedPackage*>;
_Compare = CUDFPackage_comparator; _Alloc =
std::allocator<CUDFVersionedPackage*>; std::_Rb_tree<_Key, _Val, _KeyOfValue,
_Compare, _Alloc>::iterator = std::_Rb_tree<CUDFVersionedPackage*,
CUDFVersionedPackage*, std::_Identity<CUDFVersionedPackage*>,
CUDFPackage_comparator, std::allocator<CUDFVersionedPackage*> >::iterator;
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type =
std::_Rb_tree_node<CUDFVersionedPackage*>*; std::_Rb_tree<_Key, _Val,
_KeyOfValue, _Compare, _Alloc>::_Base_ptr = std::_Rb_tre
e_node_base*]’
/usr/include/c++/11/bits/stl_tree.h:2521:36: required from
‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&)
[with _Key = CUDFVersionedPackage*; _Val = CUDFVersionedPackage*; _KeyOfValue =
std::_Identity<CUDFVersionedPackage*>; _Compare = CUDFPackage_comparator;
_Alloc = std::allocator<CUDFVersionedPackage*>; std::_Rb_tree<_Key, _Val,
_KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree<CUDFVersionedPackage*,
CUDFVersionedPackage*, std::_Identity<CUDFVersionedPackage*>,
CUDFPackage_comparator, std::allocator<CUDFVersionedPackage*> >::iterator]’
/usr/include/c++/11/bits/stl_set.h:795:25: required from ‘std::set<_Key,
_Compare, _Alloc>::iterator std::set<_Key, _Compare, _Alloc>::find(const
key_type&) [with _Key = CUDFVersionedPackage*; _Compare =
CUDFPackage_comparator; _Alloc = std::allocator<CUDFVersionedPackage*>;
std::set<_Key, _Compare, _Alloc>::iterator =
std::_Rb_tree<CUDFVersionedPackage*, CUDFVersionedPackage*,
std::_Identity<CUDFVersionedPackage*>, CUDFPackage_comparator,
std::allocator<CUDFVersionedPackage*> >::const_iterator; std::set<_Key,
_Compare, _Alloc>::key_type = CUDFVersionedPackage*]’
libsrcs/cudf.y:117:52: required from here
/usr/include/c++/11/bits/stl_tree.h:770:15: error: static assertion failed:
comparison object must be invocable as const
770 | is_invocable_v<const _Compare&, const _Key&, const _Key&>,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/bits/stl_tree.h:770:15: note: ‘std::is_invocable_v<const
CUDFPackage_comparator&, CUDFVersionedPackage* const&, CUDFVersionedPackage*
const&>’ evaluates to false
make[1]: *** [makefile:179: objs/cudf.tab.o] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j1 "INSTALL=install --strip-program=true" returned
exit code 2
make: *** [debian/rules:4: build] Error 25
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--- End Message ---