I've been working on building a big-endian arm (XScale) system using
crossdev to generate cross-compilers and portage to compile packages and
install them into an alternate ROOT.  I have a simple
uclibc/busybox/baselayout-lite rootfs plus 2.6 kernel that boots
sucessfully.  I'm now working on a full-blown glibc/baselayout rootfs
(it's a pretty beefy XScale board), but I'm having difficulty
cross-compiling a native gcc toolchain for arm.  The gcc compile fails
with the following error:

make[2]: *** No rule to make target
`../build-i686-pc-linux-gnu/libiberty/libiberty.a', needed by
`genmodes'.  Stop.
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.4/work/build/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.4/work/build/gcc'
make: *** [bootstrap-lean] Error 2

I'm actually using a small build script to set up environment variables
and automate a few other odds and ends, but I get the same error message
when I initiate the build manually with:

USE="-* arm" ACCEPT_KEYWORDS=arm CBUILD=i686-pc-linux-gnu
CHOST=armeb-unknown-linux-gnu CTARGET=armeb-unknown-linux-gnu
ROOT=/image/armeb-unknown-linux-gnu-devimage emerge sys-devel/gcc

>From the looks of it, it's succesfully cross-compiling libiberty for
arm.  I'm guessing what's going on is that genmodes is used in the gcc
build process and must be compiled for the build system (x86), but no
x86 libiberty is available because the configure script is not setting
this up properly.  I'm not particularly familiar with the gcc build
system.  What do I need to do to get a native arm compiler?  Has anyone
else tried cross-compiling a native compiler toolchain for arm?  The arm
stage tarballs must include a compiler, so I'm guessing it's possible to
create it with portage but I'm doing something wrong.  Thanks in advance.

-- Brian Koropoff
-- 
[email protected] mailing list

Reply via email to