On Wed, 05 Oct 2016, Ioan-Adrian Ratiu <adrian.ra...@ni.com> wrote: > Hi again > > On Fri, 09 Sep 2016, "Burton, Ross" <ross.bur...@intel.com> wrote: >> On 9 September 2016 at 10:32, Ioan-Adrian Ratiu <adrian.ra...@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@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core