[OE-core] Different libdir in libstdc++.la for qemux86-64 causing issues

Khem Raj raj.khem at gmail.com
Tue Jan 17 22:29:46 UTC 2012


On Tue, Jan 17, 2012 at 5:09 AM, Martin Jansa <martin.jansa at gmail.com> wrote:
> After fixing gnutls pulling system libs to every EFL build I ended with only
> difference - libdir in libstdc++.la
>
> OE @ ~/shr-core/tmp-eglibc/sysroots $ grep libdir */usr/lib/libstdc*la
> nokia900/usr/lib/libstdc++.la:libdir='/usr/lib'
> om-gta02/usr/lib/libstdc++.la:libdir='/usr/lib'
> qemux86-64/usr/lib/libstdc++.la:libdir='/usr/lib/../lib'
> spitz/usr/lib/libstdc++.la:libdir='/usr/lib'
>
> Which results in added -Wl,-rpath -Wl,/usr/lib/../lib while building for
> qemux86-64 (see logs below).
>
> Is there any reason to have different libdir (pointing to the same directory
> actually)? Or is it bug in libtool or how it's used from eve? Can we change
> it in gcc-runtime?
>
> smaller test-case:
> OE @ ~/shr-core/tmp-eglibc $ sysroots/qemux86-64/usr/bin/crossscripts/x86_64-oe-linux-libtool -n --tag=CC --mode=link x86_64-oe-linux-gcc -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -o test -lstdc++
> x86_64-oe-linux-libtool: link: x86_64-oe-linux-gcc -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -o test  /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/../lib/libstdc++.so -lm -Wl,-rpath -Wl,/usr/lib/../lib
>
> OE @ ~/shr-core/tmp-eglibc $ sysroots/nokia900/usr/bin/crossscripts/arm-oe-linux-gnueabi-libtool -n --tag=CC --mode=link arm-oe-linux-gnueabi-gcc -march=armv7-a --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900 -o test -lstdc++
> arm-oe-linux-gnueabi-libtool: link: arm-oe-linux-gnueabi-gcc -march=armv7-a --sysroot=/OE/shr-core/tmp-eglibc/sysroots/nokia900 -o test  /OE/shr-core/tmp-eglibc/sysroots/nokia900/usr/lib/libstdc++.so -lm
>
> I can confirm that manually changing /usr/lib/../lib to just /usr/lib
> in libstdc++.la works for eve build - -rpath is gone (and IIRC I had
> similar issue for openssh or openssl).

Can you confirm the converse ? i.e. change /usr/lib to /usr/lib/../lib
in say for arm
build and check what happens ?




More information about the Openembedded-core mailing list