[oe] [meta-oe][PATCH] poppler: fix compile errors

Andreas Müller schnitzeltony at gmail.com
Mon Apr 2 16:53:33 UTC 2018


On Mon, Apr 2, 2018 at 4:54 PM, akuster808 <akuster808 at gmail.com> wrote:
>
>
> On 04/02/2018 04:56 AM, Andreas Müller wrote:
>> On Mon, Apr 2, 2018 at 4:36 AM, Armin Kuster <akuster808 at gmail.com> wrote:
>>> disable glib  via new PACKGAGECONFIG option
>>>
>>> glib.so, not found (try using -rpath or -rpath-link)
>>> | ./libpoppler-glib.so: undefined reference to `FormWidgetText::noSpellCheck() const'
>>> | ./libpoppler-glib.so: undefined reference to `FormWidgetChoice::deselectAll()'
>>> | ./libpoppler-glib.so: undefined reference to `StructElement::getTextSpansInternal(MarkedContentOutputDev&) const'
>>> | ./libpoppler-glib.so: undefined reference to `PopplerCache::PopplerCache(int)'
>>> | ./libpoppler-glib.so: undefined reference to `MemStream::MemStream(char*, long long, long long, Object&&)'
>>> | ./libpoppler-glib.so: undefined reference to `StructElement::appendSubTreeText(GooString*, bool) const'
>>> | ./libpoppler-glib.so: undefined reference to `typeinfo for LinkOCGState'
>>> | ./libpoppler-glib.so: undefined reference to `FormWidgetChoice::noSpellCheck() const'
>>> | ./libpoppler-glib.so: undefined reference to `XRef::okToChange(bool)'
>>> | ./libpoppler-glib.so: undefined reference to `globalParams'
>>> | ./libpoppler-glib.so: undefined reference to `MarkedContentOutputDev::MarkedContentOutputDev(int)'
>>> | ./libpoppler-glib.so: undefined reference to `GfxPath::lineTo(double, double)'
>>> | ./libpoppler-glib.so: undefined reference to `FormWidgetButton::getButtonType() const'
>>> | ./libpoppler-glib.so: undefined reference to `GfxPath::close()'
>>> | ./libpoppler-glib.so: undefined reference to `PDFDoc::getID(GooString*, GooString*)'
>>> | ./libpoppler-glib.so: undefined reference to `pdfDocEncoding'
>>> | ./libpoppler-glib.so: undefined reference to `BaseStream::BaseStream(Object&&, long long)'
>>> | ./libpoppler-glib.so: undefined reference to `GfxGouraudTriangleShading::getTriangle(int, double*, double*, double*, double*, double*, double*, double*, double*, double*)'
>>>
>>> Signed-off-by: Armin Kuster <akuster808 at gmail.com>
>>> ---
>>>  meta-oe/recipes-support/poppler/poppler_0.62.0.bb | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/meta-oe/recipes-support/poppler/poppler_0.62.0.bb b/meta-oe/recipes-support/poppler/poppler_0.62.0.bb
>>> index 6966219..d20751f 100644
>>> --- a/meta-oe/recipes-support/poppler/poppler_0.62.0.bb
>>> +++ b/meta-oe/recipes-support/poppler/poppler_0.62.0.bb
>>> @@ -21,6 +21,7 @@ PACKAGECONFIG[curl] = "-DENABLE_LIBCURL=ON,-DENABLE_LIBCURL=OFF,curl"
>>>  PACKAGECONFIG[openjpeg] = "-DENABLE_LIBOPENJPEG=openjpeg2,-DENABLE_LIBOPENJPEG=none,openjpeg"
>>>  PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON,-DENABLE_QT5=OFF,qtbase qttools-native"
>>>  PACKAGECONFIG[nss] = "-DWITH_NSS3=ON,-DWITH_NSS3=OFF,nss"
>>> +PACKAGECONFIG[glib] = "-DENABLE_GLIB=ON,-DENABLE_GLIB=OFF, glib-2.0"
>>>
>>>  # surprise - did not expect this to work :)
>>>  inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
>>> --
>>> 2.7.4
>>>
>> This looks odd to me: poppler depends on cairo and cairo depends on
>> glib-2.0 - both dependencies are unconditional. So glib-2.0 should be
>> in poppler's recipe specific sysroot. Seems there is something else
>> wrong here.
> Its why I sent out the patch.
>
>>
>> I am a bit afraid that this will break evince which is THE pdf-viewer
>> we have in our common layers. Are there some public log I can look
>> into?
>
> Please see: http://errors.yoctoproject.org/Errors/Build/57086
>
I found

| warning: libpoppler.so.73, needed by ./libpoppler-glib.so, not found
(try using -rpath or -rpath-link)

Looks like some some race for missing dependencies within poppler's
build. Will investigate and hope to come back with a solution soon.

Andreas



More information about the Openembedded-devel mailing list