View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0016850 | Scribus | General | public | 2022-10-17 09:54 | 2022-10-17 19:36 |
| Reporter | epk | Assigned To | jghali | ||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Platform | GNU command-line | OS | Devuan GNU/Linux | OS Version | Daedalus |
| Summary | 0016850: Error when building scribus 1.5.8 | ||||
| Description | I've recently download the scribus 1.5.8 source tarball from: https://www.scribus.net/downloads/unstable-branch/ and tried to build it on my Devuan GNU/Linux Daedalus box. Note that Devuan versions correspond to Debian versions, so this is essentially Debian Bookworm without systemd. Anyway, after a painful configuration (had trouble with harfbuzz-subset, eventually configured without it; and I couldn't manage to detect my hunspell) I started building, but eventually I get this: ``` [ 83%] Building CXX object scribus/plugins/import/viva/CMakeFiles/importviva.dir/importviva.cpp.o /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp: In member function ‘QImage PdfPlug::readThumbnail(const QString&)’: /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp:93:55: error: no matching function for call to ‘PDFDoc::PDFDoc(<brace-enclosed initializer list>)’ 93 | PDFDoc pdfDoc{fname, nullptr, nullptr, nullptr}; | ^ In file included from /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/slaoutput.h:43, from /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/pdftextrecognition.h:16, from /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp:34: /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, 4 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 = {}); | ^~~~~~ /usr/include/poppler/PDFDoc.h:139:33: note: no known conversion for argument 1 from ‘GooString*’ to ‘BaseStream*’ 139 | 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:132:14: note: candidate: ‘PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)’ 132 | 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:132:50: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::unique_ptr<GooString>&&’ 132 | explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp: In member function ‘bool PdfPlug::convert(const QString&)’: /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp:346:90: error: no matching function for call to ‘PDFDoc::PDFDoc(GooString*&, std::nullptr_t, std::nullptr_t, std::nullptr_t)’ 346 | auto pdfDoc = std::unique_ptr<PDFDoc>(new PDFDoc(fname, nullptr, nullptr, nullptr)); | ^ /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, 4 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 = {}); | ^~~~~~ /usr/include/poppler/PDFDoc.h:139:33: note: no known conversion for argument 1 from ‘GooString*’ to ‘BaseStream*’ 139 | 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:132:14: note: candidate: ‘PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)’ 132 | 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:132:50: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::unique_ptr<GooString>&&’ 132 | explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /usr/local/src/scribus-1.5.8/scribus/plugins/import/pdf/importpdf.cpp:366:87: error: no matching function for call to ‘PDFDoc::PDFDoc(GooString*&, GooString*&, GooString*&, std::nullptr_t)’ 366 | pdfDoc.reset(new PDFDoc(fname, userPW, userPW, nullptr)); | ^ /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, 4 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 = {}); | ^~~~~~ /usr/include/poppler/PDFDoc.h:139:33: note: no known conversion for argument 1 from ‘GooString*’ to ‘BaseStream*’ 139 | 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:132:14: note: candidate: ‘PDFDoc::PDFDoc(std::unique_ptr<GooString>&&, const std::optional<GooString>&, const std::optional<GooString>&, void*, const std::function<void()>&)’ 132 | 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:132:50: note: no known conversion for argument 1 from ‘GooString*’ to ‘std::unique_ptr<GooString>&&’ 132 | explicit PDFDoc(std::unique_ptr<GooString> &&fileNameA, const std::optional<GooString> &ownerPassword = {}, const std::optional<GooString> &userPassword = {}, void *guiDataA = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ make[2]: *** [scribus/plugins/import/pdf/CMakeFiles/importpdf.dir/build.make:88: scribus/plugins/import/pdf/CMakeFiles/importpdf.dir/importpdf.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:4232: scribus/plugins/import/pdf/CMakeFiles/importpdf.dir/all] Error 2 ``` | ||||
| Steps To Reproduce | CCMake variables: GEOM_BUILD_SHARED OFF BUILD_OSX_BUNDLE OFF Boost_INCLUDE_DIR /usr/include CMAKE_BUILD_TYPE Release CMAKE_INSTALL_PREFIX /usr/local EXE_NAME scribus LCMS2_INCLUDE_DIR /usr/include LCMS2_LIBRARY_DEBUG LCMS2_LIBRARY_DEBUG-NOTFOUND LCMS2_LIBRARY_RELEASE /usr/lib/x86_64-linux-gnu/liblcms2.so LIBPODOFO_CFLAGS LIBPODOFO_CONFIG_H /usr/include/podofo/base/podofo_config.h LIBPODOFO_FOUND ON LIBPODOFO_INCLUDE_DIR /usr/include LIBPODOFO_LIBRARY /usr/lib/libpodofo.so LIBPODOFO_VERSION 0.9.8 (no OSG libraries so skipping that stuff) Qt5Core_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Core Qt5Gui_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Gui Qt5LinguistTools_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5LinguistTools Qt5Network_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Network Qt5OpenGL_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5OpenGL Qt5PrintSupport_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5PrintSupport Qt5Widgets_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Widgets Qt5Xml_DIR /usr/lib/x86_64-linux-gnu/cmake/Qt5Xml WANT_HUNSPELL OFF WITH_BOOST ON WITH_PODOFO ON cairo_INCLUDE_DIR /usr/include/cairo cairo_LIBRARY /usr/lib/x86_64-linux-gnu/libcairo.so hunspell hunspell-NOTFOUND poppler_INCLUDE_DIR /usr/include/poppler poppler_LIBRARY /usr/lib/x86_64-linux-gnu/libpoppler.so poppler_cpp_INCLUDE_DIR poppler_cpp_INCLUDE_DIR-NOTFOUND poppler_cpp_LIBRARY /usr/lib/x86_64-linux-gnu/libpoppler-cpp.so | ||||
| Additional Information | I can provide CMake logs or cache files if necessary | ||||
| Tags | build, PDF, poppler | ||||
| Patch | No | ||||
|
|
Debian bookworm has apparently poppler 22.02.0. In order to build Scribus with this version of poppler you need current 1.5.9.svn code. Current code can build with poppler up to 22.10.0. |
|
|
1. The 1.5.9svn folder on SourceForce doesn't include a source tarball: https://sourceforge.net/projects/scribus/files/scribus-svn/1.5.9.svn/ 2. Either the download page should suggest 1.5.9svn as well, or the 1.5.8 source tarball's CMakeLists.txt should reject versions of poppler it doesn't like (i.e. have a maximum version). |
|
|
1.5.9.svn is code being developed, so there is no tarball at all. You'll get 1.5.9.svn code with subversion: svn co svn://scribus.net/branches/Version15x/Scribus >> 1.5.8 source tarball's CMakeLists.txt should reject versions of poppler it doesn't like Poppler 22.02.0 did not exist when 1.5.8 was released, we can't make tests about versions which do not exist yet |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2022-10-17 09:54 | epk | New Issue | |
| 2022-10-17 09:54 | epk | Tag Attached: build | |
| 2022-10-17 09:54 | epk | Tag Attached: PDF | |
| 2022-10-17 09:54 | epk | Tag Attached: poppler | |
| 2022-10-17 18:44 | jghali | Project | Contributor Builds => Scribus |
| 2022-10-17 18:47 | jghali | Assigned To | => jghali |
| 2022-10-17 18:47 | jghali | Status | new => resolved |
| 2022-10-17 18:47 | jghali | Resolution | open => no change required |
| 2022-10-17 18:47 | jghali | Note Added: 0049787 | |
| 2022-10-17 18:48 | jghali | Status | resolved => closed |
| 2022-10-17 19:14 | epk | Status | closed => feedback |
| 2022-10-17 19:14 | epk | Resolution | no change required => reopened |
| 2022-10-17 19:14 | epk | Note Added: 0049788 | |
| 2022-10-17 19:35 | jghali | Note Added: 0049789 | |
| 2022-10-17 19:36 | jghali | Status | feedback => resolved |
| 2022-10-17 19:36 | jghali | Resolution | reopened => no change required |
| 2022-10-17 19:36 | jghali | Status | resolved => closed |