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

Дилян Палаузов dilyan.palauzov at aegee.org
Mon Jan 14 22:40:45 UTC 2019


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.

Regards
  Дилян

On Mon, 2019-01-14 at 08:48 +0000, Kaganski Mike wrote:
> On 14.01.2019 11:46, Stephan Bergmann wrote:
> > On 13/01/2019 23:57, Дилян Палаузов wrote:
> > > LO 6.0.7.3 fails compiling with gcc 8.2.1 20190101 I emitting:
> > > 
> > > [build SPP] scp2/source/ooo/ure
> > > [build SCP] scp2/source/writer/file_writer
> > > [build SPP] scp2/source/xsltfilter/file_xsltfilter
> > > [build SPP] scp2/source/xsltfilter/module_xsltfilter
> > > [build SPP] scp2/source/gnome/file_gnome
> > > [build SPP] scp2/source/gnome/module_gnome
> > > [build SPP] scp2/source/sdkoo/sdkoo
> > > [build SCP] scp2/source/writer/module_writer
> > > [build CXX] sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx
> > > In file included from 
> > > /src/libreoffice-6.0.7.3/sdext/source/pdfimport/xpdfwrapper/pnghelper.hxx:24, 
> > > 
> > >                   from 
> > > /src/libreoffice-6.0.7.3/sdext/source/pdfimport/xpdfwrapper/pnghelper.cxx:20: 
> > > 
> > > /src/libreoffice-6.0.7.3/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx:227:22: 
> > > error: ‘virtual void
> > > pdfi::PDFOutDev::drawString(GfxState*, const GooString*)’ marked 
> > > ‘override’, but does not override
> > >           virtual void drawString(GfxState *state, const GooString *s) 
> > > override;
> > >                        ^~~~~~~~~~
> > > /src/libreoffice-6.0.7.3/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx:227:22: 
> > > warning:   by ‘virtual void
> > > pdfi::PDFOutDev::drawString(GfxState*, const GooString*)’ 
> > > [-Woverloaded-virtual]
> > > make[1]: *** 
> > > [/src/libreoffice-6.0.7.3/solenv/gbuild/LinkTarget.mk:293: 
> > > /src/libreoffice-
> > 
> > You likely need a backport of 
> > <https://gerrit.libreoffice.org/plugins/gitiles/core/+/42cebff14f7d486c20f04863681cc5ef4602f4eb%5E!/> 
> > "fix build with poppler 0.64" (and maybe also backports of further 
> > poppler-adaption fixes in that area), or configure 
> > --without-system-poppler.
> > 
> > There is obviously always a chance that building old versions of LO 
> > against current system components does not work.  Often enough, you will 
> > find fixes for those issues in later versions of LO, and which are often 
> > even easy to backport to the version where you need them.
> 
> I'm afraid that the message implies that the fix from spring 2018 is 
> already there - the constness of the GooString parameter is there in the 
> message. So possibly there's some problem detecting the poppler library 
> version?
> 
> -- 
> Best regards,
> Mike Kaganski
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice



More information about the LibreOffice mailing list