[Debichem-devel] Bug#1133479: freesasa: ftbfs with GCC-16

Emanuele Rocca ema at debian.org
Mon Apr 13 14:03:46 BST 2026


Package: src:freesasa
Version: 2.1.2-6
Severity: important
Tags: sid forky ftbfs
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-16

Hi,

freesasa 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/freesasa_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.

[...]


      |       ^~~~~~
/usr/include/tao/pegtl/match.hpp:139:15: note: use ‘-fdiagnostics-all-candidates’ to display considered candidates
  139 |          auto m = in.template mark< ( use_marker ? rewind_mode::required : rewind_mode::dontcare ) >();
      |               ^
/usr/include/tao/pegtl/match.hpp: In instantiation of ‘auto tao::pegtl::match(ParseInput&, States&& ...) [with Rule = gemmi::cif::rules::file; apply_mode A = tao::pegtl::apply_mode::action; rewind_mode M = tao::pegtl::rewind_mode::required; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; ParseInput = cstream_input<>; States = {gemmi::cif::Document&}]’:
/usr/include/tao/pegtl/normal.hpp:92:77:   required from ‘static bool tao::pegtl::normal<Rule>::match(ParseInput&, States&& ...) [with tao::pegtl::apply_mode A = tao::pegtl::apply_mode::action; tao::pegtl::rewind_mode M = tao::pegtl::rewind_mode::required; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; ParseInput = tao::pegtl::cstream_input<>; States = {gemmi::cif::Document&}; Rule = gemmi::cif::rules::file]’
   92 |             return TAO_PEGTL_NAMESPACE::match< Rule, A, M, Action, Control >( in, st... );
      |                                                                             ^
/usr/include/tao/pegtl/parse.hpp:43:70:   required from ‘auto tao::pegtl::parse(ParseInput&&, States&& ...) [with Rule = gemmi::cif::rules::file; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; apply_mode A = tao::pegtl::apply_mode::action; rewind_mode M = tao::pegtl::rewind_mode::required; ParseInput = cstream_input<>&; States = {gemmi::cif::Document&}]’
   43 |       return Control< Rule >::template match< A, M, Action, Control >( in, st... );
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/gemmi/cif.hpp:267:44:   required from ‘void gemmi::cif::parse_input(Document&, Input&&) [with Input = tao::pegtl::cstream_input<>&]’
  267 |   pegtl::parse<rules::file, Action, Errors>(in, d);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/usr/include/gemmi/cif.hpp:273:14:   required from ‘gemmi::cif::Document gemmi::cif::read_input(Input&&, int) [with Input = tao::pegtl::cstream_input<>&]’
  273 |   parse_input(doc, in);
      |   ~~~~~~~~~~~^~~~~~~~~
/usr/include/gemmi/cif.hpp:316:20:   required from here
  316 |   return read_input(in, check_level);
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/tao/pegtl/match.hpp:135:108: error: non-constant condition for static assertion
  135 |          static_assert( !enable_action || !validate_nothing || is_nothing || is_maybe_nothing || has_apply || has_apply0, "either apply() or apply0() must be defined" );
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/tao/pegtl/match.hpp:139:15: error: use of deleted function ‘tao::pegtl::internal::marker<Iterator, M>::marker(tao::pegtl::internal::marker<Iterator, M>&&) [with Iterator = tao::pegtl::internal::iterator; tao::pegtl::rewind_mode M = tao::pegtl::rewind_mode::dontcare]’
  139 |          auto m = in.template mark< ( use_marker ? rewind_mode::required : rewind_mode::dontcare ) >();
      |               ^
/usr/include/tao/pegtl/internal/marker.hpp:22:7: note: declared here
   22 |       marker( marker&& ) = delete;
      |       ^~~~~~
/usr/include/tao/pegtl/match.hpp:139:15: note: use ‘-fdiagnostics-all-candidates’ to display considered candidates
  139 |          auto m = in.template mark< ( use_marker ? rewind_mode::required : rewind_mode::dontcare ) >();
      |               ^
/usr/include/tao/pegtl/match.hpp: In instantiation of ‘auto tao::pegtl::match(ParseInput&, States&& ...) [with Rule = gemmi::cif::rules::file; apply_mode A = tao::pegtl::apply_mode::action; rewind_mode M = tao::pegtl::rewind_mode::required; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; ParseInput = istream_input<>; States = {gemmi::cif::Document&}]’:
/usr/include/tao/pegtl/normal.hpp:92:77:   required from ‘static bool tao::pegtl::normal<Rule>::match(ParseInput&, States&& ...) [with tao::pegtl::apply_mode A = tao::pegtl::apply_mode::action; tao::pegtl::rewind_mode M = tao::pegtl::rewind_mode::required; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; ParseInput = tao::pegtl::istream_input<>; States = {gemmi::cif::Document&}; Rule = gemmi::cif::rules::file]’
   92 |             return TAO_PEGTL_NAMESPACE::match< Rule, A, M, Action, Control >( in, st... );
      |                                                                             ^
/usr/include/tao/pegtl/parse.hpp:43:70:   required from ‘auto tao::pegtl::parse(ParseInput&&, States&& ...) [with Rule = gemmi::cif::rules::file; Action = gemmi::cif::Action; Control = gemmi::cif::Errors; apply_mode A = tao::pegtl::apply_mode::action; rewind_mode M = tao::pegtl::rewind_mode::required; ParseInput = istream_input<>&; States = {gemmi::cif::Document&}]’
   43 |       return Control< Rule >::template match< A, M, Action, Control >( in, st... );
      |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/gemmi/cif.hpp:267:44:   required from ‘void gemmi::cif::parse_input(Document&, Input&&) [with Input = tao::pegtl::istream_input<>&]’
  267 |   pegtl::parse<rules::file, Action, Errors>(in, d);
      |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
/usr/include/gemmi/cif.hpp:273:14:   required from ‘gemmi::cif::Document gemmi::cif::read_input(Input&&, int) [with Input = tao::pegtl::istream_input<>&]’
  273 |   parse_input(doc, in);
      |   ~~~~~~~~~~~^~~~~~~~~
/usr/include/gemmi/cif.hpp:322:20:   required from here
  322 |   return read_input(in, check_level);
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/include/tao/pegtl/match.hpp:135:108: error: non-constant condition for static assertion
  135 |          static_assert( !enable_action || !validate_nothing || is_nothing || is_maybe_nothing || has_apply || has_apply0, "either apply() or apply0() must be defined" );
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/usr/include/tao/pegtl/match.hpp:139:15: error: use of deleted function ‘tao::pegtl::internal::marker<Iterator, M>::marker(tao::pegtl::internal::marker<Iterator, M>&&) [with Iterator = tao::pegtl::internal::iterator; tao::pegtl::rewind_mode M = tao::pegtl::rewind_mode::dontcare]’
  139 |          auto m = in.template mark< ( use_marker ? rewind_mode::required : rewind_mode::dontcare ) >();
      |               ^
/usr/include/tao/pegtl/internal/marker.hpp:22:7: note: declared here
   22 |       marker( marker&& ) = delete;
      |       ^~~~~~
/usr/include/tao/pegtl/match.hpp:139:15: note: use ‘-fdiagnostics-all-candidates’ to display considered candidates
  139 |          auto m = in.template mark< ( use_marker ? rewind_mode::required : rewind_mode::dontcare ) >();
      |               ^
make[4]: *** [Makefile:582: cif.o] Error 1
make[4]: Leaving directory '/build/reproducible-path/freesasa-2.1.2/src'
make[3]: *** [Makefile:397: all-recursive] Error 1
make[3]: Leaving directory '/build/reproducible-path/freesasa-2.1.2'
make[2]: *** [Makefile:336: all] Error 2
make[2]: Leaving directory '/build/reproducible-path/freesasa-2.1.2'
dh_auto_build: error: make -j128 freesasa_LDADD="libfreesasa.a \${libdir}/libgemmi_cpp.a -lz -ljson-c -lxml2" returned exit code 2
make[1]: *** [debian/rules:11: override_dh_auto_build] Error 25
make[1]: Leaving directory '/build/reproducible-path/freesasa-2.1.2'
make: *** [debian/rules:7: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2



More information about the Debichem-devel mailing list