[OE-core] ld problems with relocated toolchain

Khem Raj raj.khem at gmail.com
Mon Sep 24 02:17:32 UTC 2012


On Fri, Sep 21, 2012 at 8:17 AM, Jack Mitchell <ml at communistcode.co.uk> wrote:
> On 21/09/12 15:52, Laurentiu Palcu wrote:
>>
>>
>> On 09/21/2012 05:04 PM, Jack Mitchell wrote:
>>>
>>> I am currently having issues building my application with the latest
>>> toolchain.
>>>
>>> I have used the new capabilities of it being relocatable to place it
>>> somewhere sensible and I think this may be what is breaking it. My old
>>> toolchain in /opt still works perfectly.
>>>
>>> The error I receive is:
>>>
>>>
>>> /home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/ld:
>>> cannot find crtbegin.o: No such file or directory
>>> collect2: error: ld returned 1 exit status
>>> make: *** [R0005] Error 1
>>
>> Did this error appear after the latest SDK fixes that were merged today?
>> Can you activate compiler verbose mode so we can see the arguments
>> passed to the linker? Does it work if you install in the default
>> location? Or better, can you tell the exact steps you followed to get
>> this issue?
>
>
> Exact steps:
>
> bitbake meta-toolchain
> run toolchain setup script
> tell application to use new toolchain and sysroot
> compile
>
> This was appearing before the patches that were merged today.
>
> Works fine when installed in default location.
>
> Some more verbose output:
>
> /home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/as
> -v -I
> /home/jack/Projects/R0005-SDK-210912/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/include
> -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon -meabi=5 -o src/systemConfig.o
> /tmp/ccr24jiu.s
> GNU assembler version 2.22 (arm-poky-linux-gnueabi) using BFD version (GNU
> Binutils) 2.22
> COMPILER_PATH=/home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/:/home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/
> LIBRARY_PATH=/home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/:/home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../lib/armv7a-vfp-neon-poky-linux-gnueabi/gcc/
> COLLECT_GCC_OPTIONS='-I'
> '/home/jack/Projects/R0005-SDK-210912/sysroots/armv7a-vfp-neon-poky-linux-gnueabi/usr/include'
> '-O0' '-mfpu=neon' '-mfloat-abi=softfp' '-mcpu=cortex-a8' '-g3' '-Wall'
> '-Wextra' '-c' '-fmessage-length=0' '-v' '-MMD' '-MP' '-MF'
> 'src/systemConfig.d' '-MT' 'src/systemConfig.d' '-o' 'src/systemConfig.o'
> '-mtls-dialect=gnu'
> /home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/ld:
> cannot find crt1.o: No such file or directory
> /home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/ld:
> cannot find crti.o: No such file or directory
>
> /home/jack/Projects/R0005-SDK-210912/sysroots/x86_64-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/../../libexec/armv7a-vfp-neon-poky-linux-gnueabi/gcc/arm-poky-linux-gnueabi/4.7.2/ld:
> cannot find crtbegin.o: No such file or directory
> /lib/libpthread.so.0: file not recognized: File format not recognized


What does linker command looks like, its not in the above log you posted.


>
> collect2: error: ld returned 1 exit status
> make: *** [R0005] Error 1
>
>>
>> Thanks,
>> Laurentiu
>>>
>>> However, crtbeign.o is at the path:
>>>
>>>      [jack at archHP armv7a-vfp-neon-poky-linux-gnueabi]$ pwd
>>>
>>> /home/jack/Projects/R0005-SDK-210912/sysroots/armv7a-vfp-neon-poky-linux-gnueabi
>>>      [jack at archHP armv7a-vfp-neon-poky-linux-gnueabi]$ find . -name
>>>      crtbegin.o
>>>      ./usr/lib/arm-poky-linux-gnueabi/4.7.2/crtbegin.o
>>>      [jack at archHP armv7a-vfp-neon-poky-linux-gnueabi]$ ls usr/lib
>>>      lib/     libexec/
>>>      [jack at archHP armv7a-vfp-neon-poky-linux-gnueabi]$ ls usr/libexec/
>>>      pt_chown
>>>      [jack at archHP armv7a-vfp-neon-poky-linux-gnueabi]$
>>>
>>>
>>> Does anyone have an idea what is the issue here? Why can't it find the
>>> object file?
>>>
>
> --
>
>   Jack Mitchell (jack at embed.me.uk)
>   Embedded Systems Engineer
>   http://www.embed.me.uk
>
> --
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list