[OE-core] [PATCH] pango: add libpcre to DEPENDS

Ioan-Adrian Ratiu adrian.ratiu at ni.com
Wed Oct 5 11:59:13 UTC 2016


On Wed, 05 Oct 2016, Ioan-Adrian Ratiu <adrian.ratiu at ni.com> wrote:
> Hi again
>
> On Fri, 09 Sep 2016, "Burton, Ross" <ross.burton at intel.com> wrote:
>> On 9 September 2016 at 10:32, Ioan-Adrian Ratiu <adrian.ratiu at ni.com> wrote:
>>
>>> I cleared the build directory and sstate cache, started with a clean
>>> rebuild and I can't reproduce the error anymore. gen-all-unicode is
>>> built as expected and at runtime it links with libpcre as expected
>>> and the build succeeds. This is really weird, I didn't touch these
>>> packages at all, they just sporadically failed out of the blue and now
>>> they work.
>>>
>>
>> That's good, right? :)
>>
>> If you ever manage to replicate, please save the build directory for
>> inspection.
>
> I managed to replicate this and save the build directory to inspect it!
>
> Here's what happens:
> Besides oe-core we're using meta-selinux which has a libpcre-%.bbappend
> which moves the location of libpcre.so from /usr/lib to /lib in the
> sysroot and points the symlink to the file in /lib using relative paths.
>
> ldd tests/gen-all-unicode gives this:
>
> $ ldd tests/gen-all-unicode
> 	linux-vdso.so.1 (0x00007fff27263000)
> 	libglib-2.0.so.0 => /mnt/build/jenkins-jobs/nilrt_OE_toolchain-cardassia/workspace/build/tmp-glibc/sysroots/x86_64-linux/usr/lib/libglib-2.0.so.0 (0x00007f542823a000)
> 	libpcre.so.1 => not found
> 	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f542801d000)
> 	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5427c72000)
> 	libpcre.so.1 => /mnt/build/jenkins-jobs/nilrt_OE_toolchain/workspace/build/tmp-glibc/sysroots/x86_64-linux/usr/lib/../../lib/libpcre.so.1 (0x00007f5427a2f000)
> 	/lib64/ld-linux-x86-64.so.2 (0x00007f5428546000)
>
> I don't understand why libpcre.so.1 appears twice with the first not found.
>
> The file pointed to by the libpcre.so.1 symlink exists but somehow the
> loader can't find it? Maybe it's the ../.. in the path? or does an
> variable like LD_LIBRARY_PATH need to be set in the bb recipe/append?

I think libpcre_%.bbappend in meta-selinux is just missing the following
line:

ln -sf ${relpath}/${realsofile} ${D}${libdir}/libpcre.so.1

after creating this symlink the build works without problems (previously
only libpcre.so symlink was created).

Is this a proper solution?

>
> Ionel
>
>>
>> Ross
> -- 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list