#1133641 systemtap: ftbfs with GCC-16

#1133641#5
Date:
2026-04-13 13:11:32 UTC
From:
To:
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

#1133641#10
Date:
2026-04-21 17:35:09 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
systemtap, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1133641@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Sergio Durigan Junior <sergiodj@debian.org> (supplier of updated systemtap package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Tue, 21 Apr 2026 13:06:34 -0400
Source: systemtap
Architecture: source
Version: 5.4-1
Distribution: unstable
Urgency: medium
Maintainer: Debian QA Group <packages@qa.debian.org>
Changed-By: Sergio Durigan Junior <sergiodj@debian.org>
Closes: 1133641
Changes:
 systemtap (5.4-1) unstable; urgency=medium
 .
   * QA upload.
   * New upstream version 5.4
   * d/p/{lookup_one_len,sched_process_exit}.patch: Remove.
     These patches are present in the last upstream release.
   * d/p/gcc-16.patch: Fix FTBFS with GCC 16. (Closes: #1133641)
Checksums-Sha1:
 2889a032945b75719341ad1f37971d57ce976fe0 2976 systemtap_5.4-1.dsc
 c7c693578bbd17a3dc2e75e58ef709cc091daa6e 6615758 systemtap_5.4.orig.tar.gz
 28bc770d0db5479fab925cd14efc0ef554a90154 228 systemtap_5.4.orig.tar.gz.asc
 9a45c8b3568817d6f5defdb3566800a861090d9c 29232 systemtap_5.4-1.debian.tar.xz
 5d77d236b04572d0d466a89d956c1db4752ae59a 14145 systemtap_5.4-1_amd64.buildinfo
Checksums-Sha256:
 8593d2ad539eff5c3b5536016442a7a1e1f0e4cd9510d41f5fc654d99bfb38b0 2976 systemtap_5.4-1.dsc
 caf93273717775b025f7702bdc4819e41bbac66ecb3cbf8e057838c8cacd2b6e 6615758 systemtap_5.4.orig.tar.gz
 084132b0b739080a31bc2fdfd2f0b5c839cdea9990cf87b1e444c811ce5212e5 228 systemtap_5.4.orig.tar.gz.asc
 f0ecba8e882e8c356a463101773299d48cbe580e2801a902dc10a60270759489 29232 systemtap_5.4-1.debian.tar.xz
 0202c9dc022f54ad09a9ed4eb360682fbcddb78ea9ab55418461ed474cb9614f 14145 systemtap_5.4-1_amd64.buildinfo
Files:
 d3664d7317b0d908073855715b76807c 2976 devel optional systemtap_5.4-1.dsc
 049bff5690247e365937af8acdd14aa3 6615758 devel optional systemtap_5.4.orig.tar.gz
 1996725c19aeb08bfc60ff1df5eb69ec 228 devel optional systemtap_5.4.orig.tar.gz.asc
 88bb92e360d768349746774865182f25 29232 devel optional systemtap_5.4-1.debian.tar.xz
 0021141c4dfba6cb3014e63aaf3ebf36 14145 devel optional systemtap_5.4-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJIBAEBCgAyFiEEI3pUsQKHKL8A7zH00Ot2KGX8XjYFAmnnr8EUHHNlcmdpb2Rq
QGRlYmlhbi5vcmcACgkQ0Ot2KGX8XjbeSw/+LhsbpbGq+uI2mEIZYnp7eSTDrsqy
H+qaek7pIylaoM4x33ExkGdN+/fQC7lQFVnvPiEVeGHrfmYSsmoVUJI4zenWBdSD
XwJfprkLCBrFrW5XVwZgKZDEmTADaoedOikG7bkZ8N8479pJrt228EflL8W3Bfo2
f0g8BarAZoWf74hfsMavyUCrmJJSs6cvBpn7aCfYRZClcsVTSi0/KrPs8ba3JPya
OnqMZKj/7403p7jsm45Aq0qEO0/dYaU+4MJLEW5fGHGo1Mz3Z9EMaRNol/xQK34F
K8Fl3VVSDKlwHDOfnOVTISeCFKeRS+LcquCVwSBOrj0mlaXItAAleXCOcfoV49wx
J32QJNHbn0dSIq7KdJMQL+3HMQfySs7CPzccIgHjJX9GOtXfTc7NTxP7abdvbwH2
2Hv2ddNBu4UljSCwaGgChxf4QTAUkVicspQCFSySx7pbpennezGHAKs44Uwy1UMy
rp5AIhPklmwyWRfy6KnlMYqT7LmxOz8FlXnr90+aiJO07L4V9sy7trwz4XC6x3Lg
m8+qOznrE4YQ42IzOoOg4SOG1/AhMVQcU38wrk6opmwMGNflSglt81WjAPxQlzSK
/mzTDfbCqIBOjXJjRwBh7m+F5SnW/QXtpelewk8X1wKRaOPUV2GuJTTTLLGGYpr1
vZ7YkuWeXYtkwlE=
=IRmO
-----END PGP SIGNATURE-----