FTBFS with new poppler

Bug #2070367 reported by Andreas Hasenack
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
inkscape (Ubuntu)
Fix Released
High
Unassigned

Bug Description

In file included from /<<PKGBUILDDIR>>/src/extension/internal/pdfinput/pdf-input.cpp:22:
/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;
      | ^~~~~~~~~
In file included from /usr/include/poppler/Object.h:690,
                 from /usr/include/poppler/XRef.h:44,
                 from /usr/include/poppler/PDFDoc.h:60,
                 from /<<PKGBUILDDIR>>/src/extension/internal/pdfinput/pdf-input.cpp:25:
/usr/include/poppler/Stream.h:300:26: error: ‘std::span’ has not been declared
  300 | virtual size_t write(std::span<unsigned char> data) = 0;
      | ^~~
/usr/include/poppler/Stream.h:300:35: error: expected ‘,’ or ‘...’ before ‘<’ token
  300 | virtual size_t write(std::span<unsigned char> data) = 0;
      | ^
/usr/include/poppler/Stream.h:321:18: error: ‘std::span’ has not been declared
  321 | size_t write(std::span<unsigned char> data) override;
      | ^~~
/usr/include/poppler/Stream.h:321:27: error: expected ‘,’ or ‘...’ before ‘<’ token
  321 | size_t write(std::span<unsigned char> data) override;
      | ^
In file included from /<<PKGBUILDDIR>>/src/extension/internal/pdfinput/pdf-input.cpp:57:
/<<PKGBUILDDIR>>/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++/13/string:49,
                 from /usr/include/c++/13/bits/locale_classes.h:40,
                 from /usr/include/c++/13/bits/ios_base.h:41,
                 from /usr/include/c++/13/streambuf:43,
                 from /usr/include/c++/13/bits/streambuf_iterator.h:35,
                 from /usr/include/c++/13/iterator:66,
                 from /usr/include/glibmm-2.4/glibmm/ustring.h:25,
                 from /usr/include/gtkmm-3.0/gtkmm/dialog.h:6,
                 from /<<PKGBUILDDIR>>/src/extension/internal/pdfinput/pdf-input.h:21,
                 from /<<PKGBUILDDIR>>/src/extension/internal/pdfinput/pdf-input.cpp:19:
/usr/include/c++/13/bits/stl_function.h:117:12: note: declared here
  117 | struct unary_function
      | ^~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

Same error as already fixed in https://launchpad.net/bugs/2070284

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I have patches to fix two build issues, but a third one remains that I haven't found a fix for yet.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

poppler 24.03 ftbfs

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Bump CXX std to 20 (maybe this introduced the next FTBFS?)

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

There is also https://gitlab.com/inkscape/inkscape/-/commit/96ca7a6c215aa14336b52753f56244dc8796ec43, but I couldn't find the cpp file in inkscape 1.2.2 where this would apply.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

After these two patches, the remaining errors are:

a)
/home/ubuntu/git/packages/inkscape/inkscape/src/ui/dialog/filter-effects-dialog.cpp:177:26: error: expected ‘)’ before ‘default_value’
  177 | ComboWithTooltip<T>(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
      | ~ ^~~~~~~~~~~~~~
      | )

and

b)
/home/ubuntu/git/packages/inkscape/inkscape/src/ui/dialog/filter-effects-dialog.cpp: In instantiation of ‘Inkscape::UI::Widget::ComboBoxEnum<E>* Inkscape::UI::Dialog::FilterEffectsDialog::Settings::add_combo(T, SPAttr, const Glib::ustring&, const Inkscape::Util::EnumDataConverter<E>&, char*) [with T = SPBlendMode]’:
/home/ubuntu/git/packages/inkscape/inkscape/src/ui/dialog/filter-effects-dialog.cpp:2736:25: required from here
/home/ubuntu/git/packages/inkscape/inkscape/src/ui/dialog/filter-effects-dialog.cpp:969:38: error: no matching function for call to ‘Inkscape::UI::Dialog::ComboWithTooltip<SPBlendMode>::ComboWithTooltip(SPBlendMode&, const Inkscape::Util::EnumDataConverter<SPBlendMode>&, const SPAttr&, char*&)’
  969 | ComboWithTooltip<T>* combo = new ComboWithTooltip<T>(default_value, conv, attr, tip_text);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/git/packages/inkscape/inkscape/src/ui/dialog/filter-effects-dialog.cpp:174:29: note: candidate: ‘Inkscape::UI::Dialog::ComboWithTooltip<SPBlendMode>::ComboWithTooltip()’
  174 | template< typename T> class ComboWithTooltip : public Gtk::EventBox
      | ^~~~~~~~~~~~~~~~

tags: added: patch
tags: added: update-excuse
removed: patch
tags: added: patch
Revision history for this message
Gianfranco Costamagna (costamagnagianfranco) wrote :

fixed.

Changed in inkscape (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.