Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 909512

Summary: kde-apps/okular-22.12.3: compile error against app-text/poppler-23.06
Product: Gentoo Linux Reporter: Joe Breuer <gentoo>
Component: Current packagesAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 909314    
Attachments: kde-apps/okular-22.12.3 build.log

Description Joe Breuer 2023-07-02 10:44:31 UTC
Created attachment 865003 [details]
kde-apps/okular-22.12.3 build.log

This is related to me trying to be able to use PDF annotations, and encountering issues detailed in https://bugs.kde.org/show_bug.cgi?id=471792

It seems that Poppler up to and including 23.05 is basically unusable for annotating PDFs IRL (at least as it's used by Okular).

So I tried ~amd64 of app-text/poppler-23.06.

I noticed that my Okular would now say "Using Poppler 23.06.0, Built against Poppler 23.01.0". Since my issue is not completely resolved, I tried rebuilding kde-apps/okular-22.12.3 against app-text/poppler-23.06, but this gives a compile error:

FAILED: generators/poppler/CMakeFiles/okularGenerator_poppler.dir/generator_pdf.cpp.o 
[...]
In file included from /var/tmp/portage/kde-apps/okular-22.12.3/work/okular-22.12.3/generators/poppler/formfields.h:12,
                 from /var/tmp/portage/kde-apps/okular-22.12.3/work/okular-22.12.3/generators/poppler/generator_pdf.cpp:58:
/usr/include/poppler/qt5/poppler-form.h:876:6: error: ‘optional’ in namespace ‘std’ does not name a template type
  876 | std::optional<CryptoSignBackend> POPPLER_QT5_EXPORT activeCryptoSignBackend();
      |      ^~~~~~~~
/usr/include/poppler/qt5/poppler-form.h:876:1: note: ‘std::optional’ is only available from C++17 onwards
  876 | std::optional<CryptoSignBackend> POPPLER_QT5_EXPORT activeCryptoSignBackend();
      | ^~~
/var/tmp/portage/kde-apps/okular-22.12.3/work/okular-22.12.3/generators/poppler/generator_pdf.cpp: In member function ‘virtual bool PDFGenerator::canSign() const’:
/var/tmp/portage/kde-apps/okular-22.12.3/work/okular-22.12.3/generators/poppler/generator_pdf.cpp:2026:34: warning: ‘bool Poppler::hasNSSSupport()’ is deprecated [-Wdeprecated-declarations]
 2026 |     return Poppler::hasNSSSupport();
      |            ~~~~~~~~~~~~~~~~~~~~~~^~
/usr/include/poppler/qt5/poppler-form.h:908:48: note: declared here
  908 | bool POPPLER_QT5_DEPRECATED POPPLER_QT5_EXPORT hasNSSSupport();
      |                                                ^~~~~~~~~~~~~
ninja: build stopped: subcommand failed.
 * ERROR: kde-apps/okular-22.12.3::gentoo failed (compile phase):
[...]

It seems that the headers of app-text/poppler-23.06 require a newer c++ language level than kde-apps/okular-22.12.3 builds with.

I'll have a try building kde-apps/okular-23.04.2 (~amd64) to see whether that helps with my issue(s).

Mostly, this is a "heads up" that stabilizing PDF annotation functionality in Okular / under gentoo KDE is a bit bumpy at this point in time.

I'm also happy to hear about good alternatives for a PDF annotation workflow under gentoo/KDE.
Comment 1 Andreas Sturmlechner gentoo-dev 2023-07-02 21:35:45 UTC
Fixed with 23.04.2, next stable poppler is not going to be before 23.07.0.

https://invent.kde.org/graphics/okular/-/commit/cf13c2f6991fa3039906ca36ac31b3866de6cce9