[OE-core] gcc-cross-kernel problems

Koen Kooi koen at dominion.thruhere.net
Mon Jun 27 10:07:57 UTC 2011


Op 27 jun 2011, om 11:42 heeft Phil Blundell het volgende geschreven:

> On Mon, 2011-06-27 at 11:32 +0200, Koen Kooi wrote:
>> Op 26 jun 2011, om 17:05 heeft Khem Raj het volgende geschreven:
>> 
>>> On 06/25/2011 07:30 PM, Khem Raj wrote:
>>>> so in you kernel recipe somewhere patch the below code
>>>> 
>>>> PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.gcc-cross-kernel:"
>>> 
>>> I guess it has 4.2.1 in the path for you as I see so you might need
>>> 
>>> PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.gcc-cross-kernel-4.2.1:"
>> 
>> I did it a bit differently and symlinked it into the regular toolchain bin and I not get an 'as' error about '-EL' not being a valid option.It looks like gcc is calling an unprefixed 'as'. Is this due to gcc-cross-kernel being bitrotted, the recipe missing patches or something else?
> 
> That usually means that the cross as hasn't been installed/symlinked
> into the place where gcc expects to find it.  The way the gcc driver
> locates the assembler is by searching for "as" in various different
> directories.  In particular, despite what you might expect it doesn't
> ever look for $TARGET_SYS-as in $bindir or anywhere else.
> 
> Usually it will expect to find as in
> $libexecdir/gcc/$TARGET_SYS/4.2.1/as or some such path.  The symlinks in
> that directory are created as part of the gcc installation process.  You
> can strace gcc to find out where it's actually looking.

It seems to be looking at these directories:

stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/4.2.1/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/4.2.1/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/lib/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/4.2.1/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/lib/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/lib/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/4.2.1/../../../../../arm-angstrom-linux-gnueabi/bin/arm-angstrom-linux-gnueabi/4.2.1/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)
stat("/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/lib/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel/gcc/arm-angstrom-linux-gnueabi/4.2.1/../../../../../arm-angstrom-linux-gnueabi/bin/as", 0x7fff13f2f110) = -1 ENOENT (No such file or directory)

In the first one only cc1 and collect are present. What would be the best way to fix this?






More information about the Openembedded-core mailing list