Created attachment 1296 [details] Compile log for gcc recipe Build Configuration: BB_VERSION = "1.19.1" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "arch-rolling" TARGET_SYS = "i586-poky-linux" MACHINE = "qemux86" DISTRO = "poky" DISTRO_VERSION = "1.4+snapshot-20130629" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp = "master:5e49280cc07f511c6436a7c9951d433e8ea39f46" I get the following error running "bitbake gcc" with default generated qemux86 local.conf: /bin/sh ../libtool --tag=CXX --mode=link i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86 -m32 -march=i586 -isystem/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/include -I/home/build/git/poky/builds/qemux86-sysvinit/tmp/work/i586-poky-linux/gcc/4.8.1-r0/gcc-4.8.1/build.i586-poky-linux.i586-poky-linux/gcc/include/ --sysroot=/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86 -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/i586-poky-linux -I/home/build/git/poky/builds/qemux86-sysvinit/tmp/work-shared/gcc-4.8.1-r0/gcc-4.8.1/libsanitizer/../libstdc++-v3/libsupc++ -g -Os -version-info `grep -v '^#' /home/build/git/poky/builds/qemux86-sysvinit/tmp/work-shared/gcc-4.8.1-r0/gcc-4.8.1/libsanitizer/asan/libtool-version` -lpthread -ldl -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -o libasan.la -rpath /usr/lib/../lib asan_allocator.lo asan_allocator2.lo asan_interceptors.lo asan_mac.lo asan_malloc_mac.lo asan_new_delete.lo asan_posix.lo asan_rtl.lo asan_stats.lo asan_thread_registry.lo asan_fake_stack.lo asan_globals.lo asan_linux.lo asan_malloc_linux.lo asan_malloc_win.lo asan_poisoning.lo asan_report.lo asan_stack.lo asan_thread.lo asan_win.lo ../sanitizer_common/libsanitizer_common.la ../interception/libinterception.la ../../libstdc++-v3/src/libstdc++.la libtool: link: i586-poky-linux-g++ -m32 -march=i586 --sysroot=/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86 -m32 -march=i586 -isystem/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/include -I/home/build/git/poky/builds/qemux86-sysvinit/tmp/work/i586-poky-linux/gcc/4.8.1-r0/gcc-4.8.1/build.i586-poky-linux.i586-poky-linux/gcc/include/ --sysroot=/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86 -shared -nostdlib /home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/../lib/crti.o /home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/i586-poky-linux/4.8.1/crtbeginS.o .libs/asan_allocator.o .libs/asan_allocator2.o .libs/asan_interceptors.o .libs/asan_mac.o .libs/asan_malloc_mac.o .libs/asan_new_delete.o .libs/asan_posix.o .libs/asan_rtl.o .libs/asan_stats.o .libs/asan_thread_registry.o .libs/asan_fake_stack.o .libs/asan_globals.o .libs/asan_linux.o .libs/asan_malloc_linux.o .libs/asan_malloc_win.o .libs/asan_poisoning.o .libs/asan_report.o .libs/asan_stack.o .libs/asan_thread.o .libs/asan_win.o -Wl,--whole-archive ../sanitizer_common/.libs/libsanitizer_common.a ../interception/.libs/libinterception.a -Wl,--no-whole-archive -Wl,-rpath -Wl,/home/build/git/poky/builds/qemux86-sysvinit/tmp/work/i586-poky-linux/gcc/4.8.1-r0/gcc-4.8.1/build.i586-poky-linux.i586-poky-linux/i586-poky-linux/libstdc++-v3/src/.libs -lpthread -ldl ../../libstdc++-v3/src/.libs/libstdc++.so -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/x86_64-linux/usr/lib/i586-poky-linux/gcc/i586-poky-linux/4.8.1 -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/lib/../lib -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/i586-poky-linux/4.8.1 -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/../lib -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/lib -L/home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib /usr/lib/libstdc++.so -lm -lc -lgcc_s /home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/i586-poky-linux/4.8.1/crtendS.o /home/build/git/poky/builds/qemux86-sysvinit/tmp/sysroots/qemux86/usr/lib/../lib/crtn.o -m32 -march=i586 -m32 -march=i586 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-soname -Wl,libasan.so.0 -o .libs/libasan.so.0.0.0 /usr/lib/libstdc++.so: could not read symbols: File in wrong format collect2: error: ld returned 1 exit status make[3]: *** [libasan.la] Error 1 make[3]: Leaving directory `/home/build/git/poky/builds/qemux86-sysvinit/tmp/work/i586-poky-linux/gcc/4.8.1-r0/gcc-4.8.1/build.i586-poky-linux.i586-poky-linux/i586-poky-linux/libsanitizer/asan'
The gcc recipe compiles fine for GCC 4.7.2 but not GCC 4.8.1.
this seems to be related to your build system it builds fine for me on ubuntu 12.04, can you reproduce it on non archlinux hosts
I haven't had time to test on non Arch Linux host. I am using GCC 4.8.1 multilib on Arch Linux x86_64 host. Could you attach your successful compile log for gcc 4.8.1 recipe?
/usr/lib/libstdc++.so seems to be coming from the following in libsanitizer/libtool script: postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" Only -lstdc++ is resolved to library in /usr/lib by libtool. http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35942 seems somewhat related.
(In reply to comment #4) > /usr/lib/libstdc++.so seems to be coming from the following in > libsanitizer/libtool script: > postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" > > Only -lstdc++ is resolved to library in /usr/lib by libtool. > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35942 seems somewhat related. look at the YP auto builder, it should be there.
I tracked it down to tmp/sysroots/qemux86/usr/lib/libstdc++.la having: # Directory that this library needs to be installed in: libdir='/usr/lib'
(In reply to comment #5) > (In reply to comment #4) > > /usr/lib/libstdc++.so seems to be coming from the following in > > libsanitizer/libtool script: > > postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" > > > > Only -lstdc++ is resolved to library in /usr/lib by libtool. > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35942 seems somewhat related. > > look at the YP auto builder, it should be there. I am not sure how to access compile.log file for a specific recipe in YP auto builder. Can you be more specific?
libtool seems to pick it up /usr/lib/libstdc++.so if it exists. On many distributions though, /usr/lib/libstdc++.so does not exist. I was able to reproduce this on Ubuntu 12.10 x86_64 by doing the following: sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so bitbake gcc
Any progress on this?
It is going through QA/testing at the moment. Should be integrated within the next week. http://patchwork.openembedded.org/patch/54135/
Fixed by http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=dd8865aac9b0cb86f16897e59f6fd77a2c6cb000
Verified on: Build Configuration: BB_VERSION = "1.21.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Fedora-19" TARGET_SYS = "i586-poky-linux" MACHINE = "qemux86" DISTRO = "poky" DISTRO_VERSION = "1.5+snapshot-20131029" TUNE_FEATURES = "m32 i586" TARGET_FPU = "" meta meta-yocto meta-yocto-bsp = "master:76751a03b1475f22499c488395274453096b9c38" and it is ok.
Thanks.