[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 
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 = "\


+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