fail to build gdcm 3.0.10 with GDCM_USE_SYSTEM_POPPLER=ON
Cross-platform DICOM implementation
Brought to you by:
malat
It seems poppler changes PDFDoc::PDFDoc? related log:
/build/gdcm/src/GDCM-3.0.10/Applications/Cxx/gdcmpdf.cxx: In function ‘int main(int, char**)’:
/build/gdcm/src/GDCM-3.0.10/Applications/Cxx/gdcmpdf.cxx:379:45: error: no matching function for call to ‘PDFDoc::PDFDoc(GooString*&, GooString*&, GooString*&)’
379 | doc = new PDFDoc(fileName, ownerPW, userPW);
| ^
In file included from /build/gdcm/src/GDCM-3.0.10/Applications/Cxx/gdcmpdf.cxx:24:
/usr/include/poppler/PDFDoc.h:371:5: note: candidate: ‘PDFDoc::PDFDoc()’
371 | PDFDoc();
| ^~~~~~
/usr/include/poppler/PDFDoc.h:371:5: note: candidate expects 0 arguments, 3 provided
/usr/include/poppler/PDFDoc.h:139:14: note: candidate: ‘PDFDoc::PDFDoc(BaseStream*, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)’
139 | explicit PDFDoc(BaseStream *strA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, const std::function<void()> &xrefReconstructedCallback = {});
gcc: 11.2.0
poppler: 22.03.0
Just noticed the same error on openSUSE Tumbleweed:
https://build.opensuse.org/build/home:DocB:Orthanc/openSUSE_Tumbleweed/i586/gdcm/_log
I cannot reproduce using 22.02.0
https://tracker.debian.org/news/1312143/poppler-22020-3-migrated-to-testing/
...probably because 22.03. introduced the change (There is always some 'fun' around poppler, unfortunately)
Do you have an estimate when a patch may be ready?
Well I've just release 3.0.11. You'll need to patch your copy with some kind of hack (nullptr function if I read the prototype well in the log).
I'll work on a patch once 22.03 hits Debian archive.
d4557f8f1da6ae5cce2fd73fb82b8c8bb9328a87