Re: xpdfwrapper/pdfioutdev_gpl.hxx:227:22: error: ‘virtual void pdfi::PDFOutDev::drawString(GfxState*, const GooString*)’ marked ‘override’, but does not override

Kaganski Mike mikekaganski at hotmail.com
Tue Jan 15 05:32:22 UTC 2019


Hi!

On 15.01.2019 1:40, Дилян Палаузов wrote:
> Hello,
> 
> the LO source code requires const GooString*, but the /usr/local/include/poppler/OutputDev.h file had no const in the
> declaration of drawString.  The installed poppler was newer than 0.64.0.
> 
> The hack is, that in the past I installed poppler and it installed OutputDev.h .  When I later compiled newer version of
> poppler I have not passed ENABLE_XPDF_HEADERS / ENABLE_UNSTABLE_API_ABI_HEADERS to cmake and in turn “make install” has
> not overwritten /usr/local/include/poppler/OutputDev.h.  This led to a situation with new libpoppler and old OutputDev.h
> without const.  Indeed override triggered correctly.
> 
> --without-system-poppler mitigates.

All current LibreOffice branches, including 6-0-7, have the patch 
mentioned by Stephan previously. You may see the source here:

https://cgit.freedesktop.org/libreoffice/core/tree/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx?h=libreoffice-6-0-7

and the commit to 6-1 here:

https://cgit.freedesktop.org/libreoffice/core/commit?id=106b2c96e9807af14d6eb6e8f83dcf25095a093e

The commit conditionally makes the parameter const when reported poppler 
is 0.64 or newer, following the poppler change "Add const to several 
classes and members" (see 
https://poppler.freedesktop.org/releases.html). Poppler 0.64 and newer 
does have the const in the declaration of drawString - you may check its 
source code at 
https://cgit.freedesktop.org/poppler/poppler/tree/poppler/OutputDev.h?h=poppler-0.64.0, 
and the commit is 
https://cgit.freedesktop.org/poppler/poppler/commit/poppler/OutputDev.h?h=poppler-0.64.0&id=c4af5981ab2a5f42a9a1194bb5929c2151fc2674.

So the problem in your situation is most likely that you have messed up 
with the mix of new and old headers and library.

-- 
Best regards,
Mike Kaganski


More information about the LibreOffice mailing list