[OE-core] sdk path problem

Tom Rini tom.rini at gmail.com
Thu Oct 20 16:38:38 UTC 2011


On Thu, Oct 20, 2011 at 9:27 AM, Khem Raj <raj.khem at gmail.com> wrote:
> On Thu, Oct 20, 2011 at 1:22 AM, James Limbouris
> <james at digitalmatter.com.au> wrote:
>> Hi,
>>
>> I have been using meta-toolchain-qte in the past to cross compile a Qt app, and the Linux kernel.
>> Recently I replaced my old SDK image with a fresh one, and found that I could not link vmlinux anymore.
>>
>> When building the kernel, I use the following ('rica' is the distribution name):
>> export PATH=$PATH:/usr/local/rica-eglibc-i686-armv5te/sysroots/i686-ricasdk-linux/usr/bin/armv5te-rica-linux-gnueabi/
>> make ARCH=arm CROSS_COMPILE=arm-rica-linux-gnueabi- zImage
>>
>> The new error message is:
>>
>> Kernel: arch/arm/boot/Image is ready
>>  AS      arch/arm/boot/compressed/head.o
>>  GZIP    arch/arm/boot/compressed/piggy.gz
>>  CC      arch/arm/boot/compressed/misc.o
>>  AS      arch/arm/boot/compressed/piggy.o
>>  LD      arch/arm/boot/compressed/vmlinux
>> arm-rica-linux-gnueabi-ld: cannot find libgcc.a: No such file or directory
>>
>> Comparing the build with the old sdk to the build with the new one, I find that the command line for linking has changed from:
>>
>> arm-rica-linux-gnueabi-ld -EL --defsym zreladdr=0x80008000 --defsym initrd_phys=0x80800000 --defsym params_phys=0x80000100 -p --no-undefined -X /usr/local/rica-eglibc-i686-armv5te/sysroots/arm-rica-linux-gnueabi/usr/lib/arm-rica-linux-gnueabi/4.5.4/libgcc.a -T arch/arm/boot/compressed/vmlinux.lds arch/arm/boot/compressed/head.o arch/arm/boot/compressed/piggy.o arch/arm/boot/compressed/misc.o -o arch/arm/boot/compressed/vmlinux
>>
>> to:
>>
>> arm-rica-linux-gnueabi-ld -EL --defsym zreladdr=0x80008000 --defsym initrd_phys=0x80800000 --defsym params_phys=0x80000100 -p --no-undefined -X libgcc.a -T arch/arm/boot/compressed/vmlinux.lds arch/arm/boot/compressed/head.o arch/arm/boot/compressed/piggy.o arch/arm/boot/compressed/misc.o -o arch/arm/boot/compressed/vmlinux
>>
>> So libgcc.a has lost its path qualification.
>> I also straced the two linker commands, and found that they differed in one sequence.
>>
>> Old:
>> lstat64("/usr/local/rica-eglibc-i686-armv5te", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
>> lstat64("/usr/local/rica-eglibc-i686-armv5te/sysroots", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
>> lstat64("/usr/local/rica-eglibc-i686-armv5te/sysroots/arm-rica-linux-gnueabi", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
>>
>> New:
>> lstat64("/usr/local/rica-eglibc-i686-armv5te", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
>> lstat64("/usr/local/rica-eglibc-i686-armv5te/sysroots", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
>> lstat64("/usr/local/rica-eglibc-i686-armv5te/sysroots/arm-rica-linux-gnueabi", 0xbffe67cc) = -1 ENOENT (No such file or directory)
>>
>> Both toolchains are looking for a sysroot at 'arm-rica-linux-gnueabi', but the new toolchain should be looking at 'armv5te-rica-linux-gnueabi', as the names have changed.
>> I'm not yet acquainted with the darker arts of toolchain generation. Can anyone help with this?
>>
>
> can you post the build logs and configure logs of
> binutils sdk

I've seen the same problem with just plain old meta-toolchain and
trying to build something simple like u-boot.  Hadn't had the time to
dig at it tho.

-- 
Tom




More information about the Openembedded-core mailing list