[oe] [Jethro] Can't compile gcc-cross when gcc-6 is the host compiler
Jérémy Rosen
jeremy.rosen at smile.fr
Fri Aug 12 13:38:52 UTC 2016
On 11/08/2016 21:38, Burton, Ross wrote:
> On 11 August 2016 at 13:40, Jérémy Rosen <jeremy.rosen at smile.fr> wrote:
>
>> This helped, and allowed me to go much further in my build, but the recipe
>> gcc-cross-arm still failed. To be able to compile my build I had to add the
>> following to my local.conf
>>
>> CC_pn-gcc-cross-arm= "${BUILD_CC}"
>> CXX_pn-gcc-cross-arm= "${BUILD_CXX}"
>> CC_pn-gcc-crosssdk-x86_64= "${BUILD_CC}"
>> CXX_pn-gcc-crosssdk-x86_64= "${BUILD_CXX}"
>>
>>
>> So apparently, gcc still has some reference to $CC and $CXX hardcoded
>> somewhere (I think it's in do_configure)
>>
>> It seems to set $CC in the do_compile correctly, but not in do_configure.
>> And it never sets $CXX
>>
>> I tried to understand what the GCC recipe was doing wrong, but I couldn't
>> find out on first look and it's a really complicated recipe
>>
> Could you try adding a do_configure_prepend to gcc-cross.inc that sets
> exports those (and extend the do_compile exports) to see if that solves it?
I did the following
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc
b/meta/recipes-devtools/gcc/gcc-cross.inc
index aa10633..9a2e06f 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -36,8 +36,14 @@ EXTRA_OECONF_PATHS = "\
ARCH_FLAGS_FOR_TARGET +=
"-isystem${STAGING_DIR_TARGET}${target_includedir}"
+do_configure_prepend () {
+ export CC="${BUILD_CC}"
+ export CXX="${BUILD_CXX}"
+}
+
do_compile () {
export CC="${BUILD_CC}"
+ export CXX="${BUILD_CXX}"
export AR_FOR_TARGET="${TARGET_SYS}-ar"
export RANLIB_FOR_TARGET="${TARGET_SYS}-ranlib"
export LD_FOR_TARGET="${TARGET_SYS}-ld"
(which I think is what you meant) and it did indeed solve the problem.
> Ross
More information about the Openembedded-devel
mailing list