I am currently trying to cross compile Python 2.4.3 to be embedded in a
TC1130 step BA board (based on a Tricore processor).
I use a cross tools chain from a company called Hightec
(gnu_v3341_1_stepB_complete for information)
To do so, I run a script called "configure" which checks the system and
creates a relevant configuration file before we compile. (as a usual
configure script actually...)
I pass the following options:
--build=i686-pc-linux and --host=tricore-unknown-linux
Python is compiled on the "build" system and must be executed on the
I got the following error:
checking MACHDEP... linux2
checking for --without-gcc... no
checking for --with-cxx=<compiler>... no
checking for c++... c++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... yes
checking for suffix of executables...
checking for tricore-gcc... tricore-gcc
checking for C compiler default output file name... configure: error: C
compiler cannot create executables
See `config.log' for more details.
So I check the config.log and it is written:
configure:2296: checking for C compiler default output file name
configure:2299: tricore-gcc conftest.c >&5
ld: unrecognised emulation mode: tricorelinux
Supported emulations: elf_i386 i386linux
In fact, tricorelinux is a kind of configuration belonging to the
tricore-ld binary, and not the native ld binary.
I don"t understand why it calls ld instead of tricore-ld. Few people seems
to have met such trouble with their crosstools, no matter what their target
is. Does anybody know this problem ?
Anyway, I remove /usr/bin/ld and replace it by a symbolic link so that the
script can find tricore-ld.
This time, I got the "reverse" error.
/gnu/install-tricoreLinux/Linux.33/bin/ld: unrecognised emulation mode:
elf_i386Supported emulations: elf32tricore tricorelinux
It is clear that the configure script needs both linker binaries:
tricore-ld and the native one.
Any idea to resolv this problem?
Thanks a lot