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
