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

Martin Jansa martin.jansa at gmail.com
Tue Jan 17 13:09:48 UTC 2012


Hi,

I was wondering why eve (elementary+webkit based browser) always fails
to link when building for qemux86-64 (works for other MACHINEs I'm
using).

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).

Only difference in logs is sysroot param/path (correct) and order of 
libtasn/libz (not important).

===============================================================================
Log for qemux86-64:
OE @ ~/shr-core/tmp-eglibc/work/x86_64-oe-linux/eve-0.3.0.0+svnr67246-r2/eve/src/bin $ ../../x86_64-oe-linux-libtool  --tag=CC   --mode=link x86_64-oe-linux-gcc    -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -std=gnu99  -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o eve main.o view.o chrome.o eve_state.o -pthread -lelementary -lm -leet -lefreet -lefreet_mime -lefreet_trash -lethumb_client -lethumb -ledbus -ldbus-1 -lpthread -lrt -leina -lecore_evas -lecore_file -ledje -lemotion -lepdf -lexif -lpoppler -lecore -levas -lecore_imf -lecore_con   -lewebkit -lcairo -levas -lecore -lecore_file   -ledbus -ldbus-1 -lpthread -lrt   -lm

x86_64-oe-linux-libtool: link: x86_64-oe-linux-gcc -m64 --sysroot=/OE/shr-core/tmp-eglibc/sysroots/qemux86-64 -std=gnu99 -O2 -pipe -g -feliminate-unused-debug-types -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o eve main.o view.o chrome.o eve_state.o -pthread  /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libelementary.so -L=/usr/lib -L=/usr/lib/..//lib /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libefreet_mime.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libefreet_trash.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libefreet.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libethumb_client.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libethumb.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libedje.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_evas.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_x.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXcursor.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXdamage.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXcomposite.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXfixes.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXinerama.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXp.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXrandr.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXss.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXtst.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXi.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXext.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_fb.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libts.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_ipc.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_input_evas.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_input.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libembryo.so -llua /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_imf_evas.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libsndfile.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libemotion.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libeeze.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libudev.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libmount.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libblkid.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libuuid.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libepdf.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libexif.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpoppler.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/liblcms.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/../lib/libstdc++.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_imf.so -lewebkit /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libcairo.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpixman-1.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpng12.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXrender.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libX11.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libxcb.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXau.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXdmcp.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libevas.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libfribidi.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libfontconfig.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libfreetype.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libexpat.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libeet.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libjpeg.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_file.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore_con.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libcurl.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgnutls.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libtasn1.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libz.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgcrypt.so -lcap /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgpg-error.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libedbus.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libecore.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libglib-2.0.so /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libeina.so -ldl /OE/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libdbus-1.so -lpthread -lrt -lm -pthread -Wl,-rpath -Wl,/usr/lib/../lib
/usr/lib/../lib/libgio-2.0.so.0: undefined reference to `deflateSetHeader at ZLIB_1.2.2'
/usr/lib/../lib/libgio-2.0.so.0: undefined reference to `inflateGetHeader at ZLIB_1.2.2'
/usr/lib/../lib/libxml2.so.2: undefined reference to `gzopen64 at ZLIB_1.2.3.3'
/usr/lib/../lib/libxml2.so.2: undefined reference to `gzdirect at ZLIB_1.2.2.3'
collect2: ld returned 1 exit status
make: *** [eve] Error 1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20120117/165e208d/attachment-0002.sig>


More information about the Openembedded-core mailing list