As far as I know, crossdev only builds a cross compiler which runs on your build system but generates executables for another processor/architecture. I've already used crossdev sucessfully to generate such a compiler for arm. What I want to do now is build a compiler that *runs* on arm and creates arm executables (that is, both the host and target platform is arm, not just the target). This should be as simple as using portage with my crossdev-built cross-compiler and emerging it, but the build fails. Is there any trick to getting portage to build a native gcc to be included in the arm root fs?
-- Brian Koropoff Brian Jackson wrote: >Use crossdev > >--iggy > >Brian Koropoff wrote: > > >>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
