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
Tue Jan 15 05:32:22 UTC 2019


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:

and the commit to 6-1 here:

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 Poppler 0.64 and newer 
does have the const in the declaration of drawString - you may check its 
source code at, 
and the commit is

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