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

Reply via email to