On Tue, May 27, 2014 at 01:11:14PM +0800, Zhenqiang Chen wrote:
> On 27 May 2014 11:59, Denys Dmytriyenko <de...@denix.org> wrote:
> > On Tue, May 27, 2014 at 11:17:47AM +0800, Zhenqiang Chen wrote:
> >> On 27 May 2014 10:17, Denys Dmytriyenko <de...@denix.org> wrote:
> >> > Hi,
> >> >
> >> > I've been having this issue with latest binary Linaro 2014.04 toolchain 
> >> > from
> >> > http://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.xz
> >> >
> >> > It comes with own sysroot, but linker fails to locate 
> >> > /lib/ld-linux-armhf.so.3
> >> >
> >> > $ make
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > nvs.o nvs.c
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > misc_cmds.o misc_cmds.c
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > calibrator.o calibrator.c
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > plt.o plt.c
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > wl18xx_plt.o wl18xx_plt.c
> >> > arm-linux-gnueabihf-gcc -I/tmp/include/libnl3/ -DCONFIG_LIBNL32   -c -o 
> >> > ini.o ini.c
> >> > arm-linux-gnueabihf-gcc -L/tmp/lib/ nvs.o misc_cmds.o calibrator.o plt.o 
> >> > wl18xx_plt.o ini.o -lm -lnl-3 -lnl-genl-3 -o calibrator
> >> > /opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld:
> >> >  cannot find /lib/ld-linux-armhf.so.3
> >> > collect2: error: ld returned 1 exit status
> >> > Makefile:26: recipe for target 'all' failed
> >> > make: *** [all] Error 1
> >> >
> >> > And when I pass my own sysroot, it works fine.
> >> >
> >> > Is it supposed to work as a standalone toolchain with its own bundled 
> >> > sysroot?
> >>
> >> It should work as a standalone toolchain. Please check do you have
> >> ld-linux-armhf.so.3 at
> >> /opt/linaro-2014.04/arm-linux-gnueabihf/libc/lib/
> >
> > $ ls -l /opt/linaro-2014.04/arm-linux-gnueabihf/libc/lib/
> > total 8
> > drwxr-xr-x 2 root root 4096 May 26 21:35 arm-linux-gnueabi
> > drwxr-xr-x 2 root root 4096 May 26 21:33 arm-linux-gnueabihf
> > lrwxrwxrwx 1 root root   38 May 22 15:11 ld-linux-armhf.so.3 -> 
> > arm-linux-gnueabihf/ld-2.19-2014.04.so
> > lrwxrwxrwx 1 root root   36 May 22 15:11 ld-linux.so.3 -> 
> > arm-linux-gnueabi/ld-2.19-2014.04.so
> >
> >
> >> If ld-linux-armhf.so.3 is there, please show us more detail log by
> >> adding option "-v" in your last step.
> >
> > arm-linux-gnueabihf-gcc -v -L/tmp/lib/ nvs.o misc_cmds.o calibrator.o plt.o 
> > wl18xx_plt.o ini.o -lm -lnl-3 -lnl-genl-3 -o calibrator
> > Using built-in specs.
> > COLLECT_GCC=arm-linux-gnueabihf-gcc
> > COLLECT_LTO_WRAPPER=/opt/linaro-2014.04/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/lto-wrapper
> > Target: arm-linux-gnueabihf
> > Configured with: 
> > /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.8-2014.04/configure
> >  --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu 
> > --target=arm-linux-gnueabihf 
> > --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install
> >  
> > --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc
> >  --enable-languages=c,c++,fortran --enable-multilib --with-arch=armv7-a 
> > --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard 
> > --with-pkgversion='crosstool-NG linaro-1.13.1-4.8-2014.04 - Linaro GCC 
> > 4.8-2014.04' --with-bugurl=https://bugs.launchpad.net/gcc-linaro 
> > --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp 
> > --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
> >  
> > --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/st
 atic --with-mpc=/cbuild/sla
> ves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
>  
> --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
>  
> --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
>  
> --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static
>  --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id 
> --enable-gold 
> --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc
>  --enable-c99 --enable-long-long --with-mode=thumb --with-float=hard
> > Thread model: posix
> > gcc version 4.8.3 20140401 (prerelease) (crosstool-NG 
> > linaro-1.13.1-4.8-2014.04 - Linaro GCC 4.8-2014.04)
> > COMPILER_PATH=/opt/linaro-2014.04/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/:/opt/linaro-2014.04/bin/../libexec/gcc/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../libexec/gcc/:/opt/linaro-2014.04/bin/../libexec/gcc/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/
> > LIBRARY_PATH=/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/:/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../lib/gcc/:/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/lib/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/lib/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/:/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/
> > COLLECT_GCC_OPTIONS='-v' '-L/tmp/lib/' '-o' 'calibrator' '-march=armv7-a' 
> > '-mtune=cortex-a9' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mthumb' 
> > '-mtls-dialect=gnu'
> >  /opt/linaro-2014.04/bin/../libexec/gcc/arm-linux-gnueabihf/4.8.3/collect2 
> > --sysroot=/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc --build-id 
> > --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X -m 
> > armelf_linux_eabi -o calibrator 
> > /opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crt1.o
> >  
> > /opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crti.o
> >  /opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/crtbegin.o 
> > -L/tmp/lib/ -L/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3 
> > -L/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf 
> > -L/opt/linaro-2014.04/bin/../lib/gcc 
> > -L/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf 
> > -L/opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/lib
> >  
> > -L/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf
> >  -L/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/lib 
> > -L/opt/linaro-2014.04/bin/../arm-linux-gnueab
 ihf/libc/lib/arm-linux-gnue
> abihf 
> -L/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf
>  -L/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib 
> -L/opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf
>  nvs.o misc_cmds.o calibrator.o plt.o wl18xx_plt.o ini.o -lm -lnl-3 
> -lnl-genl-3 -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed 
> -lgcc_s --no-as-needed 
> /opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/crtend.o 
> /opt/linaro-2014.04/bin/../arm-linux-gnueabihf/libc/usr/lib/arm-linux-gnueabihf/crtn.o
> > /opt/linaro-2014.04/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld:
> >  cannot find /lib/ld-linux-armhf.so.3
> > collect2: error: ld returned 1 exit status
> > Makefile:26: recipe for target 'all' failed
> > make: *** [all] Error 1
> 
> It seams correct. I downloaded the toolchain and tried to build a
> small project. It worked.
> 
> Can you create a sample project for us to reproduce your issue?

After further investigation, it appears the problem is not with the toolchain 
itself, but with the way OE "external-toolchain" recipe mangles libc.so when 
preparing the sysroot. When that sysroot is being used w/o passing the 
explicit --sysroot option, I get the above error, it works with the option 
though.

Anyway, sorry for the noise, I'll follow up with the patch to fix the OE 
external-toolchain recipe, which I'm testing here now.

-- 
Denys

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to