podofo / podofo

A C++17 PDF manipulation library

Home Page:https://podofo.github.io/podofo/documentation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot compile PODOFO with gcc-13

asyropoulos opened this issue · comments

I tried to compile PODOFO with gcc 13 and I get the following:

[ 65%] Building CXX object test/unit/CMakeFiles/podofo-test.dir/ParserTest.cpp.o
[ 65%] Building CXX object test/unit/CMakeFiles/podofo-test.dir/TokenizerTest.cpp.o
[ 66%] Building CXX object test/unit/CMakeFiles/podofo-test.dir/StringTest.cpp.o
In file included from /usr/include/cppunit/TestAssert.h:8,
from /usr/include/cppunit/TestCase.h:6,
from /usr/include/cppunit/TestCaller.h:5,
from /usr/include/cppunit/extensions/HelperMacros.h:9,
from /container/source/var/podofo-0.9.7/test/unit/StringTest.h:24,
from /container/source/var/podofo-0.9.7/test/unit/StringTest.cpp:21:
/usr/include/cppunit/tools/StringHelper.h: In instantiation of 'typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type CppUnit::StringHelper::toString(const T&) [with T = PoDoFo::PdfString; typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type = std::__cxx11::basic_string]':
/usr/include/cppunit/TestAssert.h:74:50: required from 'static std::string CppUnit::assertion_traits::toString(const T&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/usr/include/cppunit/TestAssert.h:168:58: required from 'void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/container/source/var/podofo-0.9.7/test/unit/StringTest.cpp:182:5: required from here
/usr/include/cppunit/tools/StringHelper.h:25:9: error: no match for 'operator<<' (operand types are 'CppUnit::OStringStream' {aka 'std::__cxx11::basic_ostringstream'} and 'const PoDoFo::PdfString')
25 | ost << x;
| ~~~~^~~~
In file included from /usr/gcc/13/include/c++/13.2.0/istream:41,
from /usr/gcc/13/include/c++/13.2.0/sstream:40,
from /usr/include/cppunit/portability/Stream.h:283,
from /usr/include/cppunit/TestAssert.h:7:
/usr/gcc/13/include/c++/13.2.0/ostream:110:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ostream_type& ()(__ostream_type&)) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
110 | operator<<(__ostream_type& (
__pf)(__ostream_type&))
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:110:36: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'std::basic_ostream::__ostream_type& ()(std::basic_ostream::__ostream_type&)' {aka 'std::basic_ostream& ()(std::basic_ostream&)'}
110 | operator<<(__ostream_type& (__pf)(__ostream_type&))
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:119:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(__ios_type& (
)(__ios_type&)) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream; __ios_type = std::basic_ios]'
119 | operator<<(__ios_type& (__pf)(__ios_type&))
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:119:32: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'std::basic_ostream::__ios_type& (
)(std::basic_ostream::__ios_type&)' {aka 'std::basic_ios& ()(std::basic_ios&)'}
119 | operator<<(__ios_type& (
__pf)(__ios_type&))
| ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:129:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::ios_base& ()(std::ios_base&)) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
129 | operator<<(ios_base& (
__pf) (ios_base&))
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:129:30: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'std::ios_base& ()(std::ios_base&)'
129 | operator<<(ios_base& (
__pf) (ios_base&))
| ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:168:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
168 | operator<<(long __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:168:23: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'long int'
168 | operator<<(long __n)
| ~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:172:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long unsigned int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
172 | operator<<(unsigned long __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:172:32: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'long unsigned int'
172 | operator<<(unsigned long __n)
| ~~~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:176:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(bool) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
176 | operator<<(bool __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:176:23: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'bool'
176 | operator<<(bool __n)
| ~~~~~^~~
In file included from /usr/gcc/13/include/c++/13.2.0/ostream:880:
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:96:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(short int) [with _CharT = char; _Traits = std::char_traits]'
96 | basic_ostream<_CharT, _Traits>::
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:97:22: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'short int'
97 | operator<<(short __n)
| ~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:183:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(short unsigned int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
183 | operator<<(unsigned short __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:183:33: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'short unsigned int'
183 | operator<<(unsigned short __n)
| ~~~~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:110:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(int) [with _CharT = char; _Traits = std::char_traits]'
110 | basic_ostream<_CharT, _Traits>::
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:111:20: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'int'
111 | operator<<(int __n)
| ~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:194:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(unsigned int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
194 | operator<<(unsigned int __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:194:31: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'unsigned int'
194 | operator<<(unsigned int __n)
| ~~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:203:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
203 | operator<<(long long __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:203:28: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'long long int'
203 | operator<<(long long __n)
| ~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:207:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long long unsigned int) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
207 | operator<<(unsigned long long __n)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:207:37: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'long long unsigned int'
207 | operator<<(unsigned long long __n)
| ~~~~~~~~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:222:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(double) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
222 | operator<<(double __f)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:222:25: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'double'
222 | operator<<(double __f)
| ~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:226:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(float) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
226 | operator<<(float __f)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:226:24: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'float'
226 | operator<<(float __f)
| ~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:234:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(long double) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
234 | operator<<(long double __f)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:234:30: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'long double'
234 | operator<<(long double __f)
| ~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:292:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(const void*) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream]'
292 | operator<<(const void* __p)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:292:30: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'const void*'
292 | operator<<(const void* __p)
| ~~~~~~~~~~~~^~~
/usr/gcc/13/include/c++/13.2.0/ostream:297:7: note: candidate: 'std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t) [with _CharT = char; _Traits = std::char_traits; __ostream_type = std::basic_ostream; std::nullptr_t = std::nullptr_t]'
297 | operator<<(nullptr_t)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:297:18: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'std::nullptr_t'
297 | operator<<(nullptr_t)
| ^~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:124:5: note: candidate: 'std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::operator<<(__streambuf_type*) [with _CharT = char; _Traits = std::char_traits; __streambuf_type = std::basic_streambuf]'
124 | basic_ostream<_CharT, _Traits>::
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:125:34: note: no known conversion for argument 1 from 'const PoDoFo::PdfString' to 'std::basic_ostream::__streambuf_type*' {aka 'std::basic_streambuf'}
125 | operator<<(__streambuf_type
__sbin)
| ~~~~~~~~~~~~~~~~~~^~~~~~
In file included from /usr/gcc/13/include/c++/13.2.0/bits/memory_resource.h:38,
from /usr/gcc/13/include/c++/13.2.0/deque:76,
from /usr/include/cppunit/Message.h:11,
from /usr/include/cppunit/Exception.h:5,
from /usr/include/cppunit/TestCaller.h:4:
/usr/gcc/13/include/c++/13.2.0/cstddef:124:5: note: candidate: 'template constexpr std::__byte_op_t<_IntegerType> std::operator<<(byte, _IntegerType)'
124 | operator<<(byte __b, _IntegerType __shift) noexcept
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/cstddef:124: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'}) to type 'std::byte'
25 | ost << x;
| ^~~
In file included from /usr/gcc/13/include/c++/13.2.0/bits/basic_string.h:47,
from /usr/gcc/13/include/c++/13.2.0/string:54,
from /usr/include/cppunit/Message.h:12:
/usr/gcc/13/include/c++/13.2.0/string_view:760:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, basic_string_view<_CharT, _Traits>)'
760 | operator<<(basic_ostream<_CharT, _Traits>& __os,
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/string_view:760:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: 'PoDoFo::PdfString' is not derived from 'std::basic_string_view<_CharT, _Traits>'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/bits/basic_string.h:4020:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __cxx11::basic_string<_CharT, _Traits, _Allocator>&)'
4020 | operator<<(basic_ostream<_CharT, _Traits>& __os,
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/basic_string.h:4020:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: 'const PoDoFo::PdfString' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>'
25 | ost << x;
| ~~~~^~~~
In file included from /usr/gcc/13/include/c++/13.2.0/bits/ios_base.h:46,
from /usr/gcc/13/include/c++/13.2.0/ios:44,
from /usr/gcc/13/include/c++/13.2.0/istream:40:
/usr/gcc/13/include/c++/13.2.0/system_error:339:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const error_code&)'
339 | operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/system_error:339:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'const std::error_code&'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:554:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, _CharT)'
554 | operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:554:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: deduced conflicting types for parameter '_CharT' ('char' and 'PoDoFo::PdfString')
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:564:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, char)'
564 | operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:564:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'char'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:570:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, char)'
570 | operator<<(basic_ostream<char, _Traits>& __out, char __c)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:570:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'char'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:581:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, signed char)'
581 | operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:581:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'signed char'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:586:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, unsigned char)'
586 | operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:586:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'unsigned char'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:645:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const _CharT*)'
645 | operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:645:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: mismatched types 'const _CharT*' and 'PoDoFo::PdfString'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:307:5: note: candidate: 'template<class _CharT, class _Traits> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const char*)'
307 | operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/ostream.tcc:307:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'const char*'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:662:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const char*)'
662 | operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:662:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'const char*'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:675:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const signed char*)'
675 | operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:675:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'const signed char*'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:680:5: note: candidate: 'template std::basic_ostream<char, _Traits>& std::operator<<(basic_ostream<char, _Traits>&, const unsigned char*)'
680 | operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:680:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: cannot convert 'x' (type 'const PoDoFo::PdfString') to type 'const unsigned char*'
25 | ost << x;
| ~~~~^~~~
/usr/gcc/13/include/c++/13.2.0/ostream:801:5: note: candidate: 'template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&)'
801 | operator<<(_Ostream&& __os, const _Tp& __x)
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/ostream:801:5: note: template argument deduction/substitution failed:
/usr/gcc/13/include/c++/13.2.0/ostream: In substitution of 'template<class _Ostream, class _Tp> _Ostream&& std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::__cxx11::basic_ostringstream&; _Tp = PoDoFo::PdfString]':
/usr/include/cppunit/tools/StringHelper.h:25:9: required from 'typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type CppUnit::StringHelper::toString(const T&) [with T = PoDoFo::PdfString; typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type = std::__cxx11::basic_string]'
/usr/include/cppunit/TestAssert.h:74:50: required from 'static std::string CppUnit::assertion_traits::toString(const T&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/usr/include/cppunit/TestAssert.h:168:58: required from 'void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/container/source/var/podofo-0.9.7/test/unit/StringTest.cpp:182:5: required from here
/usr/gcc/13/include/c++/13.2.0/ostream:801:5: error: no type named 'type' in 'struct std::enable_if<false, void>'
In file included from /usr/gcc/13/include/c++/13.2.0/memory:80,
from /usr/include/cppunit/extensions/HelperMacros.h:16:
/usr/include/cppunit/tools/StringHelper.h: In instantiation of 'typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type CppUnit::StringHelper::toString(const T&) [with T = PoDoFo::PdfString; typename std::enable_if<(! std::is_enum<_Tp>::value), std::__cxx11::basic_string >::type = std::__cxx11::basic_string]':
/usr/include/cppunit/TestAssert.h:74:50: required from 'static std::string CppUnit::assertion_traits::toString(const T&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/usr/include/cppunit/TestAssert.h:168:58: required from 'void CppUnit::assertEquals(const T&, const T&, SourceLine, const std::string&) [with T = PoDoFo::PdfString; std::string = std::__cxx11::basic_string]'
/container/source/var/podofo-0.9.7/test/unit/StringTest.cpp:182:5: required from here
/usr/gcc/13/include/c++/13.2.0/bits/shared_ptr.h:70:5: note: candidate: 'template<class _Ch, class _Tr, class _Tp, __gnu_cxx::_Lock_policy _Lp> std::basic_ostream<_CharT, _Traits>& std::operator<<(basic_ostream<_CharT, _Traits>&, const __shared_ptr<_Tp, _Lp>&)'
70 | operator<<(std::basic_ostream<_Ch, _Tr>& __os,
| ^~~~~~~~
/usr/gcc/13/include/c++/13.2.0/bits/shared_ptr.h:70:5: note: template argument deduction/substitution failed:
/usr/include/cppunit/tools/StringHelper.h:25:9: note: 'const PoDoFo::PdfString' is not derived from 'const std::__shared_ptr<_Tp, _Lp>'
25 | ost << x;
| ~~~~^~~~
make[2]: *** [test/unit/CMakeFiles/podofo-test.dir/build.make:272: test/unit/CMakeFiles/podofo-test.dir/StringTest.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1094: test/unit/CMakeFiles/podofo-test.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

It seem it does not work with the version of cppunit thatg my system provides, is this right? How can I fix this problem?

Kind regards,

Apostolos Syropoulos

You didn't follow the new issue form, and also you are almost certainly using PoDoFo 0.9.x, which doesn't have a maintainer. Your issue may be fixed by this commit, or at least we had some issues regarding cppunit and PdfString and that commit fixed them. You can try the 0.9.x branch, or better upgrade to 0.10.x. Alternatively you should investigate the compilation issue yourself with 0.9.x and supply a patch.