[Aptitude-devel] Bug#1012895: aptitude: ftbfs with GCC-12

Matthias Klose doko at debian.org
Thu Jun 16 13:07:38 BST 2022


Package: src:aptitude
Version: 0.8.13-4
Severity: normal
Tags: sid bookworm
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-12

[This bug is targeted to the upcoming bookworm 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-12/g++-12, but succeeds to build with gcc-11/g++-11. The
severity of this report will be raised before the bookworm release.

The full build log can be found at:
http://qa-logs.debian.net/2022/06/09/gcc12/aptitude_0.8.13-4_unstable_gcc12.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.

[...]
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   mismatched types ‘const _CharT*’ and ‘std::vector<int, std::allocator<int> >’
   25 |     ost << x;
      |     ~~~~^~~~
/usr/include/c++/12/bits/ostream.tcc:302:5: note: candidate: ‘template<class _CharT, class _Traits> std::basic_ostream<_Ch, _Tr>& std::operator<<(basic_ostream<_Ch, _Tr>&, const char*)’
  302 |     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/12/bits/ostream.tcc:302:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   cannot convert ‘x’ (type ‘const std::vector<int, std::allocator<int> >’) to type ‘const char*’
   25 |     ost << x;
      |     ~~~~^~~~
/usr/include/c++/12/ostream:615:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)’
  615 |     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
      |     ^~~~~~~~
/usr/include/c++/12/ostream:615:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   cannot convert ‘x’ (type ‘const std::vector<int, std::allocator<int> >’) to type ‘const char*’
   25 |     ost << x;
      |     ~~~~^~~~
/usr/include/c++/12/ostream:628:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)’
  628 |     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
      |     ^~~~~~~~
/usr/include/c++/12/ostream:628:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   cannot convert ‘x’ (type ‘const std::vector<int, std::allocator<int> >’) to type ‘const signed char*’
   25 |     ost << x;
      |     ~~~~^~~~
/usr/include/c++/12/ostream:633:5: note: candidate: ‘template<class _Traits> std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)’
  633 |     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
      |     ^~~~~~~~
/usr/include/c++/12/ostream:633:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   cannot convert ‘x’ (type ‘const std::vector<int, std::allocator<int> >’) to type ‘const unsigned char*’
   25 |     ost << x;
      |     ~~~~^~~~
/usr/include/c++/12/ostream:754:5: note: candidate: ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)’
  754 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/12/ostream:754:5: note:   template argument deduction/substitution failed:
/usr/include/c++/12/ostream: In substitution of ‘template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::__cxx11::basic_ostringstream<char>&; _Tp = std::vector<int, std::allocator<int> >]’:
/usr/include/cppunit/tools/StringHelper.h:25:9:   required from ‘typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string<char> >::type CppUnit::StringHelper::toString(const T&) [with T = std::vector<int, std::allocator<int> >; typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string<char> >::type = std::__cxx11::basic_string<char>]’
/usr/include/cppunit/TestAssert.h:74:50:   required from ‘static std::string CppUnit::assertion_traits<T>::toString(const T&) [with T = std::vector<int, std::allocator<int> >; std::string = std::__cxx11::basic_string<char>]’
/usr/include/cppunit/TestAssert.h:168:58:   required from ‘void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&) [with T = std::vector<int, std::allocator<int> >; std::string = std::__cxx11::basic_string<char>]’
../../tests/test_parsers.cc:140:3:   required from ‘void verify_success(const std::string&, const P&, const typename strip_shared_ptrs_result::apply<typename P::result_type>::type&) [with P = parsers::concatenate_p<parsers::andfirst_p<parsers::integer_p, parsers::skipMany_p<parsers::charif_p<char, parsers::space_f> > >, parsers::andfirst_p<parsers::integer_p, parsers::skipMany_p<parsers::charif_p<char, parsers::space_f> > > >; std::string = std::__cxx11::basic_string<char>; typename strip_shared_ptrs_result::apply<typename P::result_type>::type = std::vector<int, std::allocator<int> >; typename P::result_type = std::shared_ptr<std::vector<int, std::allocator<int> > >]’
../../tests/test_parsers.cc:1642:21:   required from here
/usr/include/c++/12/ostream:754:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’
/usr/include/cppunit/tools/StringHelper.h: In instantiation of ‘typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string<char> >::type CppUnit::StringHelper::toString(const T&) [with T = std::vector<int, std::allocator<int> >; typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string<char> >::type = std::__cxx11::basic_string<char>]’:
/usr/include/cppunit/TestAssert.h:74:50:   required from ‘static std::string CppUnit::assertion_traits<T>::toString(const T&) [with T = std::vector<int, std::allocator<int> >; std::string = std::__cxx11::basic_string<char>]’
/usr/include/cppunit/TestAssert.h:168:58:   required from ‘void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&) [with T = std::vector<int, std::allocator<int> >; std::string = std::__cxx11::basic_string<char>]’
../../tests/test_parsers.cc:140:3:   required from ‘void verify_success(const std::string&, const P&, const typename strip_shared_ptrs_result::apply<typename P::result_type>::type&) [with P = parsers::concatenate_p<parsers::andfirst_p<parsers::integer_p, parsers::skipMany_p<parsers::charif_p<char, parsers::space_f> > >, parsers::andfirst_p<parsers::integer_p, parsers::skipMany_p<parsers::charif_p<char, parsers::space_f> > > >; std::string = std::__cxx11::basic_string<char>; typename strip_shared_ptrs_result::apply<typename P::result_type>::type = std::vector<int, std::allocator<int> >; typename P::result_type = std::shared_ptr<std::vector<int, std::allocator<int> > >]’
../../tests/test_parsers.cc:1642:21:   required from here
/usr/include/c++/12/cstddef:123:5: note: candidate: ‘template<class _IntegerType> constexpr std::__byte_op_t<_IntegerType> std::operator<<(byte, _IntegerType)’
  123 |     operator<<(byte __b, _IntegerType __shift) noexcept
      |     ^~~~~~~~
/usr/include/c++/12/cstddef:123:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:5: note:   cannot convert ‘ost’ (type ‘CppUnit::OStringStream’ {aka ‘std::__cxx11::basic_ostringstream<char>’}) to type ‘std::byte’
   25 |     ost << x;
      |     ^~~
/usr/include/c++/12/complex:555:5: note: candidate: ‘template<class _Tp, class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const complex<_Tp>&)’
  555 |     operator<<(basic_ostream<_CharT, _Traits>& __os, const complex<_Tp>& __x)
      |     ^~~~~~~~
/usr/include/c++/12/complex:555:5: note:   template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note:   ‘const std::vector<int, std::allocator<int> >’ is not derived from ‘const std::complex<_Tp>’
   25 |     ost << x;
      |     ~~~~^~~~
make[3]: *** [Makefile:869: test_parsers.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
make[2]: *** [Makefile:1169: check-am] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/build/tests'
/bin/sh: 1: ./cppunit_test: not found
make[1]: *** [debian/rules:39: override_dh_auto_test-arch] Error 127
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:22: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2



More information about the Aptitude-devel mailing list