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

Martin Jansa martin.jansa at gmail.com
Mon Jan 23 14:20:49 UTC 2012


On Tue, Jan 17, 2012 at 02:09:48PM +0100, Martin Jansa wrote:
> 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
> 

same issue while building gconf:

| x86_64-oe-linux-libtool: link: x86_64-oe-linux-gcc -m64 --sysroot=/OE/oe-core/tmp-eglibc/sysroots/qemux86-64 -I.. -I.. -pthread -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/gtk-2.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/gtk-2.0/include -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/atk-1.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/cairo -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/gdk-pixbuf-2.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/pango-1.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/pixman-1 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/freetype2 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libpng12 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/libxml2 -pthread -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/dbus-1.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/dbus-1.0/include -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -DG_LOG_DOMAIN=\"GConf\" -DPREFIX=\"/usr\" -DGCONF_LOCALE_DIR=\"/usr/share/locale\" -DGCONF_SRCDIR=\"/OE/oe-core/tmp-eglibc/work/x86_64-oe-linux/gconf-3.2.3-r5/GConf-3.2.3\" -DGCONF_CONFDIR=\"/etc/gconf/2\" -DGCONF_ETCDIR=\"/etc/gconf\" -DGCONF_BINDIR=\"/usr/bin\" -DGCONF_SERVERDIR=\"/usr/libexec\" -DGCONF_BUILDDIR=\"..\" -DGCONF_BACKEND_DIR=\"/usr/lib/GConf/2\" -DVERSION=\"3.2.3\" -DGCONF_ENABLE_INTERNALS=1 -DGCONFD=\"gconfd-2\" -pthread -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/dbus-1.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/dbus-1.0/include -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/include/glib-2.0 -I/OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/glib-2.0/include -O2 -pipe -g -feliminate-unused-debug-types -Wall -DGCONF_ENABLE_DEBUG=1 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/gconfd-2 gconfd_2-gconf-database.o gconfd_2-gconfd.o gconfd_2-gconfd-dbus.o gconfd_2-gconf-database-dbus.o -pthread -Wl,--export-dynamic -pthread  ./.libs/libgconf-2.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgio-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libz.so -lresolv /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgmodule-2.0.so -ldl /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libdbus-glib-1.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libdbus-1.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgobject-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libffi.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgthread-2.0.so -lpthread /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libglib-2.0.so -lrt -pthread
| x86_64-oe-linux-libtool: link: x86_64-oe-linux-gcc -m64 --sysroot=/OE/oe-core/tmp-eglibc/sysroots/qemux86-64 -O2 -pipe -g -feliminate-unused-debug-types -Wall -DGCONF_ENABLE_DEBUG=1 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o .libs/gconf-sanity-check-2 gconf-sanity-check.o -pthread -Wl,--export-dynamic  ./.libs/libgconf-2.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libdbus-glib-1.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libdbus-1.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgtk-x11-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgdk-x11-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libatk-1.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpangocairo-1.0.so -L=/usr/lib /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpangoft2-1.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/../lib/libstdc++.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgdk_pixbuf-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgio-2.0.so -lresolv /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libcairo.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpixman-1.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpng12.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXrender.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libX11.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libxcb.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXau.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libXdmcp.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libpango-1.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libfontconfig.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libfreetype.so /OE/oe-core/tmp-eglibc/sysroots/qemux8ERROR: Function failed: do_compile (see /OE/oe-core/tmp-eglibc/work/x86_64-oe-linux/gconf-3.2.3-r5/temp/log.do_compile.22789 for further information)
| 6-64/usr/lib/libexpat.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgobject-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libffi.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgmodule-2.0.so /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libgthread-2.0.so -lpthread /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libglib-2.0.so -lrt /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libxml2.so -ldl /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/lib/libz.so -lm -pthread -Wl,-rpath -Wl,/usr/lib/../lib
| /usr/lib/../lib/libXext.so.6: undefined reference to `memcpy at GLIBC_2.14'
| collect2: ld returned 1 exit status
| make[3]: *** [gconf-sanity-check-2] Error 1
| make[3]: Leaving directory `/OE/oe-core/tmp-eglibc/work/x86_64-oe-linux/gconf-3.2.3-r5/GConf-3.2.3/gconf'
| make[2]: *** [all] Error 2
| make[2]: Leaving directory `/OE/oe-core/tmp-eglibc/work/x86_64-oe-linux/gconf-3.2.3-r5/GConf-3.2.3/gconf'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory `/OE/oe-core/tmp-eglibc/work/x86_64-oe-linux/gconf-3.2.3-r5/GConf-3.2.3'

Cheers,
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- 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/20120123/ba8c4338/attachment-0002.sig>


More information about the Openembedded-core mailing list