[OE-core] gcc-cross-kernel problems

Khem Raj raj.khem at gmail.com
Sun Jun 26 02:30:41 UTC 2011


On 6/25/2011 1:38 PM, Koen Kooi wrote:
> Hi,
>
> I was spending some spare cycles on
> https://github.com/koenkooi/meta-archos and wanted to build the 2.6.22
> vendor kernel first before trying to the 3.0rc working and I need to use
> csl 2007q3 as gcc-cross-kernel due to bugs in the kernel.
>
> I imported the 2008q1 recipes from OE-core, then changed the SRC_URI to
> have the patches from the 2007q3 recipe in OE classic. It uses the .inc
> files from OE-core. It builds and gives me:
>
> koen at dominion:/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-kernel-4.2.1-4.2.1+csl-arm-2007q3-53-r0/image$
> find . | grep bin
> ./OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin
>
> ./OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1
>
> ./OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1/arm-angstrom-linux-gnueabi-gcov
>
> ./OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1/arm-angstrom-linux-gnueabi-gccbug
>
> ./OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/arm-angstrom-linux-gnueabi-gcc-4.2.1+csl-arm-2007q3-53
>
>
> But when I do 'MACHINE=archos5 bitbake virtual/kernel -c compile' I get:
>
> | + make -j4 zImage 'CC=ccache
> arm-angstrom-linux-gnueabi-gcc-4.2.1+csl-arm-2007q3-53
> -mno-thumb-interwork -mno-thumb
> --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/archos5' 'LD=arm-angstrom-linux-gnueabi-ld
> --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/archos5
> --sysroot=/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/archos5'
> | arm-angstrom-linux-gnueabi-gcc-4.2.1+csl-arm-2007q3-53: No such file
> or directory
>
> And I can't find arm-angstrom-linux-gnueabi-gcc-4.2.1+csl-arm-2007q3-53
> in sysroots. When looking at WORKDIR for the gcc:
>
> koen at dominion:/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/work/armv7a-angstrom-linux-gnueabi/gcc-cross-kernel-4.2.1-4.2.1+csl-arm-2007q3-53-r0$
> find sysroot-destdir/ | grep bin
> sysroot-destdir/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin
>
> sysroot-destdir/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1
>
> sysroot-destdir/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1/arm-angstrom-linux-gnueabi-gcov
>
> sysroot-destdir/OE/tentacle/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/bin/armv7a-angstrom-linux-gnueabi.gcc-cross-kernel-4.2.1/arm-angstrom-linux-gnueabi-gccbug
>
>
> So that's missing the
> arm-angstrom-linux-gnueabi-gcc-4.2.1+csl-arm-2007q3-53 that's actually
> needed.

in oe-core we munge CROSS_TARGET_SYS_DIR and append PN to it, this 
should be considered in gcc-cross-kernel.inc

you need couple of changes

change the install command like below in gcc-cross-kernel.inc

install -m 0755 xgcc 
${D}${STAGING_DIR_NATIVE}${prefix_native}/bin/${TARGET_PREFIX}gcc-${PV}

secondly you need to inform kernel recipe of this new location of toolchain

so in you kernel recipe somewhere patch the below code

PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.gcc-cross-kernel:"

Thanks

-Khem




More information about the Openembedded-core mailing list