#16985 closed defect (fixed)

Fix building inkscape with poppler-22.09.0

Reported by: Douglas R. Reno Owned by: Douglas R. Reno
Priority: normal Milestone: 11.3
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

When trying to build inkscape with poppler-22.09.0, you'll get:

[ 14%] Building CXX object src/CMakeFiles/inkscape_base.dir/extension/internal/pdfinput/pdf-parser.cpp.o
In file included from /sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/pdf-parser.cpp:32:
/sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/util/units.h:29:42: warning: ‘template<class _Arg, class _Result> struct std::unary_function’ is deprecated [-Wdeprecated-declarations]
   29 | struct hash<Glib::ustring> : public std::unary_function<Glib::ustring, std::size_t> {
      |                                          ^~~~~~~~~~~~~~
In file included from /usr/include/c++/12.2.0/string:48,
                 from /usr/include/c++/12.2.0/bits/locale_classes.h:40,
                 from /usr/include/c++/12.2.0/bits/ios_base.h:41,
                 from /usr/include/c++/12.2.0/ios:42,
                 from /usr/include/c++/12.2.0/ostream:38,
                 from /usr/include/c++/12.2.0/iostream:39,
                 from /usr/include/2geom-1.1.0/2geom/point.h:38,
                 from /sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/svg-builder.h:29,
                 from /sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/pdf-parser.cpp:29:
/usr/include/c++/12.2.0/bits/stl_function.h:117:12: note: declared here
  117 |     struct unary_function
      |            ^~~~~~~~~~~~~~
/sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/pdf-parser.cpp: In member function ‘void PdfParser::opSetDash(Object*, int)’:
/sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/pdf-parser.cpp:700:21: error: no matching function for call to ‘GfxState::setLineDash(double*&, int&, double)’
  700 |   state->setLineDash(dash, length, args[1].getNum());
      |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/poppler/Gfx.h:40,
                 from /sources/inkscape-1.2.1/inkscape-1.2.1_2022-07-14_9c6d41e410/src/extension/internal/pdfinput/pdf-parser.cpp:30:
/usr/include/poppler/GfxState.h:1591:10: note: candidate: ‘void GfxState::setLineDash(std::vector<double>&&, double)’
 1591 |     void setLineDash(std::vector<double> &&dash, double start);
      |          ^~~~~~~~~~~
/usr/include/poppler/GfxState.h:1591:10: note:   candidate expects 2 arguments, 3 provided
make[2]: *** [src/CMakeFiles/inkscape_base.dir/build.make:1567: src/CMakeFiles/inkscape_base.dir/extension/internal/pdfinput/pdf-parser.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1493: src/CMakeFiles/inkscape_base.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

This should get fixed by https://gitlab.com/inkscape/inkscape/-/merge_requests/4719/diffs

Change History (3)

comment:1 by Douglas R. Reno, 20 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:2 by Douglas R. Reno, 20 months ago

This will make the security advisory slightly more complex than originally intended. I'll make a note that if you build Inkscape with poppler-22.09.0 installed, you're going to need the patch.

comment:3 by Douglas R. Reno, 20 months ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.