Package: src:systemtap Version: 5.3-2 Severity: important Tags: sid forky ftbfs User: [email protected] Usertags: ftbfs-gcc-16
Hi, systemtap 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/systemtap_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. [...] | ~~~~~~~~~~~~~^~~ • candidate 6: ‘void std::map<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = std::__cxx11::basic_string<char>; _Tp = functiondecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >]’ /usr/include/c++/16/bits/stl_map.h:993:7: 993 | insert(std::initializer_list<value_type> __list) | ^~~~~~ • no known conversion for argument 1 from ‘<brace-enclosed initializer list>’ to ‘std::initializer_list<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >’ /usr/include/c++/16/bits/stl_map.h:993:48: 993 | insert(std::initializer_list<value_type> __list) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ • candidate 7: ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(const_iterator, const value_type&) [with _Key = std::__cxx11::basic_string<char>; _Tp = functiondecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >; iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, functiondecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> > >::iterator; const_iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, functiondecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> > >::const_iterator; value_type = std::pair<const std::__cxx11::basic_string<char>, functiondecl*>]’ /usr/include/c++/16/bits/stl_map.h:1041:7: 1041 | insert(const_iterator __position, const value_type& __x) | ^~~~~~ • candidate expects 2 arguments, 1 provided • candidate 8: ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::insert(const_iterator, value_type&&) [with _Key = std::__cxx11::basic_string<char>; _Tp = functiondecl*; _Compare = std::less<std::__cxx11::basic_string<char> >; _Alloc = std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >; iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, functiondecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> > >::iterator; const_iterator = std::_Rb_tree<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, functiondecl*>, std::_Select1st<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >, std::less<std::__cxx11::basic_string<char> >, std::allocator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> > >::const_iterator; value_type = std::pair<const std::__cxx11::basic_string<char>, functiondecl*>]’ /usr/include/c++/16/bits/stl_map.h:1051:7: 1051 | insert(const_iterator __position, value_type&& __x) | ^~~~~~ • candidate expects 2 arguments, 1 provided language-server/stap-language-server.cxx: In member function ‘void document::apply_change(lsp_object, TextDocumentSyncKind)’: language-server/stap-language-server.cxx:385:79: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’ 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^~~~ language-server/stap-language-server.cxx:385:96: error: use of ‘auto’ in lambda parameter declaration only available with ‘-std=c++14’ or ‘-std=gnu++14’ 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^~~~ language-server/stap-language-server.cxx: In lambda function: language-server/stap-language-server.cxx:390:36: error: request for member ‘erase’ in ‘container’, which is of non-class type ‘int’ 390 | it = container.erase(it); | ^~~~~ language-server/stap-language-server.cxx: In member function ‘void document::apply_change(lsp_object, TextDocumentSyncKind)’: language-server/stap-language-server.cxx:402:38: error: no match for call to ‘(document::apply_change(lsp_object, TextDocumentSyncKind)::<lambda(int&, int&, symboldecl*)>) (std::vector<vardecl*>&, __gnu_cxx::__normal_iterator<vardecl* const*, std::vector<vardecl*> >&, vardecl* const&)’ 402 | update_remove_or_pass(globals, it, *it); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ • there is 1 candidate language-server/stap-language-server.cxx:385:77: 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^ • candidate 1: ‘document::apply_change(lsp_object, TextDocumentSyncKind)::<lambda(int&, int&, symboldecl*)>’ language-server/stap-language-server.cxx:385:42: 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^ • no known conversion for argument 1 from ‘std::vector<vardecl*>’ to ‘int&’ language-server/stap-language-server.cxx:404:38: error: no match for call to ‘(document::apply_change(lsp_object, TextDocumentSyncKind)::<lambda(int&, int&, symboldecl*)>) (std::map<std::__cxx11::basic_string<char>, functiondecl*>&, std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<char>, functiondecl*> >&, functiondecl* const&)’ 404 | update_remove_or_pass(functions, it, it->second); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ • there is 1 candidate language-server/stap-language-server.cxx:385:77: 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^ • candidate 1: ‘document::apply_change(lsp_object, TextDocumentSyncKind)::<lambda(int&, int&, symboldecl*)>’ language-server/stap-language-server.cxx:385:42: 385 | auto update_remove_or_pass = [start_ln, end_ln, delta_line_count](auto& container, auto& it, symboldecl* sym){ | ^ • no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, functiondecl*>’ to ‘int&’ make[3]: *** [Makefile:1792: language-server/stap-stap-language-server.o] Error 1 make[3]: *** Waiting for unfinished jobs.... tapsets.cxx: In member function ‘virtual void dwarf_derived_probe::emit_probe_local_init(systemtap_session&, translator_output*)’: tapsets.cxx:6207:20: error: variable ‘i’ set but not used [-Werror=unused-but-set-variable=] 6207 | unsigned i = 0; | ^ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:1330: stap-tapsets.o] Error 1 make[3]: Leaving directory '/build/reproducible-path/systemtap-5.3' make[2]: *** [Makefile:2221: all-recursive] Error 1 make[2]: Leaving directory '/build/reproducible-path/systemtap-5.3' make[1]: *** [Makefile:821: all] Error 2 make[1]: Leaving directory '/build/reproducible-path/systemtap-5.3' dh_auto_build: error: make -j128 returned exit code 2 make: *** [debian/rules:30: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2

