Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.