Menu

#561 3.0.24: build fails with poppler 24.05.0

3.1
open
nobody
None
5
2024-06-24
2024-05-17
No

Looks like build fails with poppler 24.05.0

[ 94%] Building CXX object Applications/Cxx/CMakeFiles/gdcminfo.dir/gdcminfo.cxx.o
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx && /usr/bin/g++  -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Source/Common -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/Common -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/DataStructureAndEncodingDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/MediaStorageAndFileFormat -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/InformationObjectDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/MessageExchangeDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/DataDictionary -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities/socketxx -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities/socketxx/socket++ -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Utilities/socketxx/socket++ -I/usr/include/poppler -I/usr/include/libxml2 -I/usr/include/openjpeg-2.5 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -O2 -g -DNDEBUG -DLIBPOPPLER_UNICODEMAP_HAS_CONSTMAPUNICODE -MD -MT Applications/Cxx/CMakeFiles/gdcminfo.dir/gdcminfo.cxx.o -MF CMakeFiles/gdcminfo.dir/gdcminfo.cxx.o.d -o CMakeFiles/gdcminfo.dir/gdcminfo.cxx.o -c /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx
In file included from /usr/include/poppler/Object.h:44,
                 from /usr/include/poppler/XRef.h:44,
                 from /usr/include/poppler/PDFDoc.h:60,
                 from /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:39:
/usr/include/poppler/goo/GooString.h:241:24: error: starts_with has not been declared in std::string
  241 |     using std::string::starts_with;
      |                        ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h:244:24: error: ends_with has not been declared in std::string
  244 |     using std::string::ends_with;
      |                        ^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx: In function std::string getInfoDate(Dict*, const char*):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:201:36: error: invalid conversion from Object* to int [-fpermissive]
  201 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                    ^~~~
      |                                    |
      |                                    Object*
In file included from /usr/include/poppler/Object.h:619:
/usr/include/poppler/Dict.h:81:40: note:   initializing argument 2 of Object Dict::lookup(const char*, int) const
   81 |     Object lookup(const char *key, int recursion = 0) const;
      |                                    ~~~~^~~~~~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:201:41: error: base operand of -> has non-pointer type Object
  201 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                         ^~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:259:11: error: void Object::free() is private within this context
  259 |   obj.free();
      |   ~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx: In function std::string getInfoString(Dict*, const char*, const UnicodeMap*):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:285:36: error: invalid conversion from Object* to int [-fpermissive]
  285 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                    ^~~~
      |                                    |
      |                                    Object*
/usr/include/poppler/Dict.h:81:40: note:   initializing argument 2 of Object Dict::lookup(const char*, int) const
   81 |     Object lookup(const char *key, int recursion = 0) const;
      |                                    ~~~~^~~~~~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:285:41: error: base operand of -> has non-pointer type Object
  285 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                         ^~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:288:23: error: invalid conversion from const GooString* to GooString* [-fpermissive]
  288 |     s1 = obj.getString();
      |          ~~~~~~~~~~~~~^~
      |                       |
      |                       const GooString*
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:319:11: error: void Object::free() is private within this context
  319 |   obj.free();
      |   ~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx: In function int ProcessOneFile(const std::string&, const gdcm::Defs&):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:502:35: error: use of deleted function Object::Object(T) [with T = Object*]
  502 |       bv->GetLength(), &appearDict);
      |                                   ^
/usr/include/poppler/Object.h:283:5: note: declared here
  283 |     Object(T) = delete;
      |     ^~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:502:35: note: use -fdiagnostics-all-candidates to display considered candidates
  502 |       bv->GetLength(), &appearDict);
      |                                   ^
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:513:51: error: no matching function for call to PDFDoc::PDFDoc(MemStream*&, GooString*&, GooString*&)
  513 |     doc = new PDFDoc(appearStream, ownerPW, userPW);
      |                                                   ^
/usr/include/poppler/PDFDoc.h:378:5: note: candidate: PDFDoc::PDFDoc()
  378 |     PDFDoc();
      |     ^~~~~~
/usr/include/poppler/PDFDoc.h:378:5: note:   candidate expects 0 arguments, 3 provided
/usr/include/poppler/PDFDoc.h:141:14: note: candidate: PDFDoc::PDFDoc(BaseStream*, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:141:71: note:   no known conversion for argument 2 from GooString* to const std::optional<GooString>&
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/poppler/PDFDoc.h:134:14: note: candidate: PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:134:50: note:   no known conversion for argument 1 from MemStream* to std::unique_ptr<GooString>&&
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:535:37: error: no match for operator= (operand types are std::unique_ptr<GlobalParams> and GlobalParams*)
  535 |     globalParams = new GlobalParams();
      |                                     ^
In file included from /usr/include/c++/14/memory:78,
                 from /usr/include/poppler/goo/GooString.h:45:
/usr/include/c++/14/bits/unique_ptr.h:424:9: note: candidate: template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Ep = _Up; _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>]
  424 |         operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
      |         ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:424:9: note:   template argument deduction/substitution failed:
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:535:37: note:   mismatched types std::unique_ptr<_Tp, _Dp> and GlobalParams*
  535 |     globalParams = new GlobalParams();
      |                                     ^
/usr/include/c++/14/bits/unique_ptr.h:408:19: note: candidate: std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>]
  408 |       unique_ptr& operator=(unique_ptr&&) = default;
      |                   ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:408:29: note:   no known conversion for argument 1 from GlobalParams* to std::unique_ptr<GlobalParams>&&
  408 |       unique_ptr& operator=(unique_ptr&&) = default;
      |                             ^~~~~~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:434:7: note: candidate: std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>; std::nullptr_t = std::nullptr_t]
  434 |       operator=(nullptr_t) noexcept
      |       ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:434:17: note:   no known conversion for argument 1 from GlobalParams* to std::nullptr_t
  434 |       operator=(nullptr_t) noexcept
      |                 ^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:546:22: error: no matching function for call to PDFDoc::getDocInfo(Object*)
  546 |       doc->getDocInfo(&info);
      |       ~~~~~~~~~~~~~~~^~~~~~~
/usr/include/poppler/PDFDoc.h:250:12: note: candidate: Object PDFDoc::getDocInfo()
  250 |     Object getDocInfo() { return xref->getDocInfo(); }
      |            ^~~~~~~~~~
/usr/include/poppler/PDFDoc.h:250:12: note:   candidate expects 0 arguments, 1 provided
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:559:18: error: void Object::free() is private within this context
  559 |         info.free();
      |         ~~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcminfo.cxx:565:52: error: invalid use of incomplete type const class StructTreeRoot
  565 |       const char *tagged = doc->getStructTreeRoot()->isDict() ? "yes" : "no";
      |                                                    ^~
In file included from /usr/include/poppler/PDFDoc.h:61:
/usr/include/poppler/Catalog.h:64:7: note: forward declaration of class StructTreeRoot
   64 | class StructTreeRoot;
      |       ^~~~~~~~~~~~~~
make[2]: *** [Applications/Cxx/CMakeFiles/gdcminfo.dir/build.make:79: Applications/Cxx/CMakeFiles/gdcminfo.dir/gdcminfo.cxx.o] Error 1
make[2]: Target 'Applications/Cxx/CMakeFiles/gdcminfo.dir/build' not remade because of errors.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:2473: Applications/Cxx/CMakeFiles/gdcminfo.dir/all] Error 2
make  -f Applications/Cxx/CMakeFiles/gdcmscu.dir/build.make Applications/Cxx/CMakeFiles/gdcmscu.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24 /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx/CMakeFiles/gdcmscu.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make  -f Applications/Cxx/CMakeFiles/gdcmscu.dir/build.make Applications/Cxx/CMakeFiles/gdcmscu.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for 'Applications/Cxx/CMakeFiles/gdcmscu.dir/build'.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 95%] Built target gdcmscu
make  -f Applications/Cxx/CMakeFiles/gdcmxml.dir/build.make Applications/Cxx/CMakeFiles/gdcmxml.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24 /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx/CMakeFiles/gdcmxml.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make  -f Applications/Cxx/CMakeFiles/gdcmxml.dir/build.make Applications/Cxx/CMakeFiles/gdcmxml.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for 'Applications/Cxx/CMakeFiles/gdcmxml.dir/build'.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 96%] Built target gdcmxml
make  -f Applications/Cxx/CMakeFiles/gdcmpap3.dir/build.make Applications/Cxx/CMakeFiles/gdcmpap3.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24 /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx/CMakeFiles/gdcmpap3.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make  -f Applications/Cxx/CMakeFiles/gdcmpap3.dir/build.make Applications/Cxx/CMakeFiles/gdcmpap3.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make[2]: Nothing to be done for 'Applications/Cxx/CMakeFiles/gdcmpap3.dir/build'.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 97%] Built target gdcmpap3
make  -f Applications/Cxx/CMakeFiles/gdcmpdf.dir/build.make Applications/Cxx/CMakeFiles/gdcmpdf.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24 /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx/CMakeFiles/gdcmpdf.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make  -f Applications/Cxx/CMakeFiles/gdcmpdf.dir/build.make Applications/Cxx/CMakeFiles/gdcmpdf.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 97%] Building CXX object Applications/Cxx/CMakeFiles/gdcmpdf.dir/gdcmpdf.cxx.o
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Applications/Cxx && /usr/bin/g++  -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Source/Common -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/Common -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/DataStructureAndEncodingDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/MediaStorageAndFileFormat -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/InformationObjectDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/MessageExchangeDefinition -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Source/DataDictionary -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities/socketxx -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities/socketxx/socket++ -I/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Utilities/socketxx/socket++ -I/usr/include/poppler -I/usr/include/libxml2 -I/usr/include/openjpeg-2.5 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -mtls-dialect=gnu2 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -O2 -g -DNDEBUG -DLIBPOPPLER_UNICODEMAP_HAS_CONSTMAPUNICODE -MD -MT Applications/Cxx/CMakeFiles/gdcmpdf.dir/gdcmpdf.cxx.o -MF CMakeFiles/gdcmpdf.dir/gdcmpdf.cxx.o.d -o CMakeFiles/gdcmpdf.dir/gdcmpdf.cxx.o -c /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx
In file included from /usr/include/poppler/Object.h:44,
                 from /usr/include/poppler/XRef.h:44,
                 from /usr/include/poppler/PDFDoc.h:60,
                 from /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:24:
/usr/include/poppler/goo/GooString.h:241:24: error: starts_with has not been declared in std::string
  241 |     using std::string::starts_with;
      |                        ^~~~~~~~~~~
/usr/include/poppler/goo/GooString.h:244:24: error: ends_with has not been declared in std::string
  244 |     using std::string::ends_with;
      |                        ^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx: In function std::string getInfoDate(Dict*, const char*):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:52:36: error: invalid conversion from Object* to int [-fpermissive]
   52 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                    ^~~~
      |                                    |
      |                                    Object*
In file included from /usr/include/poppler/Object.h:619:
/usr/include/poppler/Dict.h:81:40: note:   initializing argument 2 of Object Dict::lookup(const char*, int) const
   81 |     Object lookup(const char *key, int recursion = 0) const;
      |                                    ~~~~^~~~~~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:52:41: error: base operand of -> has non-pointer type Object
   52 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                         ^~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:110:11: error: void Object::free() is private within this context
  110 |   obj.free();
      |   ~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx: In function std::string getInfoString(Dict*, const char*, const UnicodeMap*, bool&):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:136:36: error: invalid conversion from Object* to int [-fpermissive]
  136 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                    ^~~~
      |                                    |
      |                                    Object*
/usr/include/poppler/Dict.h:81:40: note:   initializing argument 2 of Object Dict::lookup(const char*, int) const
   81 |     Object lookup(const char *key, int recursion = 0) const;
      |                                    ~~~~^~~~~~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:136:41: error: base operand of -> has non-pointer type Object
  136 |   if (infoDict->lookup((char*)key, &obj)->isString())
      |                                         ^~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:139:23: error: invalid conversion from const GooString* to GooString* [-fpermissive]
  139 |     s1 = obj.getString();
      |          ~~~~~~~~~~~~~^~
      |                       |
      |                       const GooString*
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:170:11: error: void Object::free() is private within this context
  170 |   obj.free();
      |   ~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx: In function int main(int, char**):
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:369:35: error: no match for operator= (operand types are std::unique_ptr<GlobalParams> and GlobalParams*)
  369 |   globalParams = new GlobalParams();
      |                                   ^
In file included from /usr/include/c++/14/memory:78,
                 from /usr/include/poppler/goo/GooString.h:45:
/usr/include/c++/14/bits/unique_ptr.h:424:9: note: candidate: template<class _Up, class _Ep> typename std::enable_if<std::__and_<std::__and_<std::is_convertible<typename std::unique_ptr<_Up, _Ep>::pointer, typename std::__uniq_ptr_impl<_Tp, _Dp>::pointer>, std::__not_<std::is_array<_Up> > >, std::is_assignable<_T2&, _U2&&> >::value, std::unique_ptr<_Tp, _Dp>&>::type std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Ep = _Up; _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>]
  424 |         operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
      |         ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:424:9: note:   template argument deduction/substitution failed:
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:369:35: note:   mismatched types std::unique_ptr<_Tp, _Dp> and GlobalParams*
  369 |   globalParams = new GlobalParams();
      |                                   ^
/usr/include/c++/14/bits/unique_ptr.h:408:19: note: candidate: std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::unique_ptr<_Tp, _Dp>&&) [with _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>]
  408 |       unique_ptr& operator=(unique_ptr&&) = default;
      |                   ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:408:29: note:   no known conversion for argument 1 from GlobalParams* to std::unique_ptr<GlobalParams>&&
  408 |       unique_ptr& operator=(unique_ptr&&) = default;
      |                             ^~~~~~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:434:7: note: candidate: std::unique_ptr<_Tp, _Dp>& std::unique_ptr<_Tp, _Dp>::operator=(std::nullptr_t) [with _Tp = GlobalParams; _Dp = std::default_delete<GlobalParams>; std::nullptr_t = std::nullptr_t]
  434 |       operator=(nullptr_t) noexcept
      |       ^~~~~~~~
/usr/include/c++/14/bits/unique_ptr.h:434:17: note:   no known conversion for argument 1 from GlobalParams* to std::nullptr_t
  434 |       operator=(nullptr_t) noexcept
      |                 ^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:393:7: error: class Object has no member named initNull; did you mean isNull?
  393 |   obj.initNull();
      |       ^~~~~~~~
      |       isNull
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:398:45: error: no matching function for call to PDFDoc::PDFDoc(GooString*&, GooString*&, GooString*&)
  398 |   doc = new PDFDoc(fileName, ownerPW, userPW);
      |                                             ^
/usr/include/poppler/PDFDoc.h:378:5: note: candidate: PDFDoc::PDFDoc()
  378 |     PDFDoc();
      |     ^~~~~~
/usr/include/poppler/PDFDoc.h:378:5: note:   candidate expects 0 arguments, 3 provided
/usr/include/poppler/PDFDoc.h:141:14: note: candidate: PDFDoc::PDFDoc(BaseStream*, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:141:33: note:   no known conversion for argument 1 from GooString* to BaseStream*
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |                     ~~~~~~~~~~~~^~~~
/usr/include/poppler/PDFDoc.h:134:14: note: candidate: PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:134:50: note:   no known conversion for argument 1 from GooString* to std::unique_ptr<GooString>&&
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:433:47: error: no matching function for call to PDFDoc::PDFDoc(GooString*&, GooString*&, GooString*&)
  433 |     doc = new PDFDoc(fileName, ownerPW, userPW);
      |                                               ^
/usr/include/poppler/PDFDoc.h:378:5: note: candidate: PDFDoc::PDFDoc()
  378 |     PDFDoc();
      |     ^~~~~~
/usr/include/poppler/PDFDoc.h:378:5: note:   candidate expects 0 arguments, 3 provided
/usr/include/poppler/PDFDoc.h:141:14: note: candidate: PDFDoc::PDFDoc(BaseStream*, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:141:33: note:   no known conversion for argument 1 from GooString* to BaseStream*
  141 |     explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
      |                     ~~~~~~~~~~~~^~~~
/usr/include/poppler/PDFDoc.h:134:14: note: candidate: PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |              ^~~~~~
/usr/include/poppler/PDFDoc.h:134:50: note:   no known conversion for argument 1 from GooString* to std::unique_ptr<GooString>&&
  134 |     explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr,
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:452:20: error: no matching function for call to PDFDoc::getDocInfo(Object*)
  452 |     doc->getDocInfo(&info);
      |     ~~~~~~~~~~~~~~~^~~~~~~
/usr/include/poppler/PDFDoc.h:250:12: note: candidate: Object PDFDoc::getDocInfo()
  250 |     Object getDocInfo() { return xref->getDocInfo(); }
      |            ^~~~~~~~~~
/usr/include/poppler/PDFDoc.h:250:12: note:   candidate expects 0 arguments, 1 provided
/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Applications/Cxx/gdcmpdf.cxx:465:16: error: void Object::free() is private within this context
  465 |       info.free();
      |       ~~~~~~~~~^~
/usr/include/poppler/Object.h:562:10: note: declared private here
  562 |     void free();
      |          ^~~~
make[2]: *** [Applications/Cxx/CMakeFiles/gdcmpdf.dir/build.make:79: Applications/Cxx/CMakeFiles/gdcmpdf.dir/gdcmpdf.cxx.o] Error 1
make[2]: Target 'Applications/Cxx/CMakeFiles/gdcmpdf.dir/build' not remade because of errors.
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make[1]: *** [CMakeFiles/Makefile2:2595: Applications/Cxx/CMakeFiles/gdcmpdf.dir/all] Error 2
make  -f Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/build.make Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/depend
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
cd /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24 /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/Utilities/doxygen /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Utilities/doxygen /home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu/Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/DependInfo.cmake "--color="
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make  -f Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/build.make Utilities/doxygen/CMakeFiles/DOCBOOK_MANPAGES.dir/build
make[2]: Entering directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 97%] docbook manpages
make[2]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
[ 99%] Built target DOCBOOK_MANPAGES
make[1]: Target 'all' not remade because of errors.
make[1]: Leaving directory '/home/tkloczko/rpmbuild/BUILD/GDCM-3.0.24/x86_64-redhat-linux-gnu'
make: *** [Makefile:169: all] Error 2
make: Target 'default_target' not remade because of errors.

BTW: is it possible to move issue tracker to github? 🤔

Discussion

  • Bernd Feige

    Bernd Feige - 2024-06-01

    Same here, gentoo updated to app-text/poppler-24.05.0 today.

     
  • Andreas Hasenack

    Here is a patch:

    --- a/CMakeLists.txt
    +++ b/CMakeLists.txt
    @@ -23,6 +23,9 @@ project(GDCM
     ## NOTE: the "DESCRIPTION" feature of project() was introduced in cmake 3.10.0
     set(PROJECT_DESCRIPTION "GDCM - Grassroots DICOM. GDCM is yet another DICOM library.")
    
    +# https://sourceforge.net/p/gdcm/bugs/561/
    +# due to https://gitlab.freedesktop.org/poppler/poppler/-/commit/d8ae3ba#9a2aa4db38d3115ed60da621e012c0efc0172aae
    +set(CMAKE_CXX_STANDARD 20)
     ## Set aliases for backwards compatibility.  GDCM_VERSION_XXX are configured by the project() command 
     set(GDCM_MAJOR_VERSION ${GDCM_VERSION_MAJOR})
     set(GDCM_MINOR_VERSION ${GDCM_VERSION_MINOR})
    
     

Log in to post a comment.