View Issue Details

IDProjectCategoryView StatusLast Update
0016850ScribusGeneralpublic2022-10-17 19:36
Reporterepk Assigned Tojghali  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionno change required 
PlatformGNU command-lineOSDevuan GNU/LinuxOS VersionDaedalus
Summary0016850: Error when building scribus 1.5.8
DescriptionI'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 ReproduceCCMake 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 InformationI can provide CMake logs or cache files if necessary
Tagsbuild, PDF, poppler
PatchNo

Activities

jghali

2022-10-17 18:47

administrator   ~0049787

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.

epk

2022-10-17 19:14

reporter   ~0049788

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).

jghali

2022-10-17 19:35

administrator   ~0049789

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

Issue History

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