Canadian build and CT_TARGET fails

Per Arnold Blaasmo Per-Arnold.Blaasmo@atmel.com
Wed Aug 1 06:31:00 GMT 2012


Hi,
I am trying to do a Canadian cross from:

build  = x86_64-unknown-linux-gnu
host   = i686-pc-mingw32
target = arm-none-eabi


But I in step 'Installing pass-2 core C compiler' I get:
> [ALL  ]    arm-none-eabi-gcc -dumpspecs > tmp-specs
> [ALL  ]    /usr/bin/bash: arm-none-eabi-gcc: command not found
> [ERROR]    make[1]: *** [specs] Error 127
> [ALL  ]    make[1]: Leaving directory
> `/home/pablaasmo/tmp/ct-ng-build-1.15.3/.build/arm-none-eabi/build/build-cc-core-pass-2/gcc'
> [ERROR]  
> [ERROR]  >>
> [ERROR]  >>  Build failed in step 'Installing pass-2 core C compiler'
> [ERROR]  >>        called in step '(top-level)'
> [ERROR]  >>
> [ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@172]
> [ERROR]  >>        called from:
> do_cc_core_backend[scripts/build/cc/gcc.sh@429]
> [ERROR]  >>        called from:
> do_cc_core_pass_2[scripts/build/cc/gcc.sh@145]
> [ERROR]  >>        called from: main[scripts/crosstool-NG.sh@598]

Which tells be it needs the 'arm-non-eabi-gcc' executable for the
build-server.
But looking at the steps in 'steps.mk':
> CT_STEPS := libc_check_config   \
>             gmp_for_build       \
>             mpfr_for_build      \
>             ppl_for_build       \
>             cloog_for_build     \
>             mpc_for_build       \
>             libelf_for_build    \
>             binutils_for_build  \
>             elf2flt_for_build   \
>             gmp_for_host        \
>             mpfr_for_host       \
>             ppl_for_host        \
>             cloog_for_host      \
>             mpc_for_host        \
>             libelf_for_host     \
>             binutils_for_host   \
>             elf2flt_for_host    \
>             sstrip_for_host     \
>             cc_core_pass_1      \
>             kernel_headers      \
>             libc_start_files    \
>             cc_core_pass_2      \
>             libc                \
>             cc_for_build        \
>             cc_for_host         \
>             libc_finish         \
>             libelf_for_target   \
>             binutils_for_target \
>             debug               \
>             test_suite          \
>             finish              \

It seems like cc_for_build is built after cc_core_pass_2.

I think that in gcc.sh the code to handle this is:
>         # On bare metal and canadian build the host-compiler is used when
>         # actually the build-system compiler is required. Choose the
> correct
>         # compilers for canadian build and use the defaults on other
>         # configurations.
>         if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then
>             repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \
>                        GCC_FOR_TARGET=${CT_TARGET}-gcc"
>         else
>             repair_cc=""
>         fi

But since i do not have a build-system compiler for target yet, this can
not work?

Am I correct?

Regards
Per A.


-- 
Per Arnold Blåsmo
Senior Design Engineer, Atmel Norway

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list