On Wed, Mar 28, 2012 at 04:59:57PM +0530, Ratnaraj Mirgal wrote: > Hi All, > > I'm trying to build a cross compiler for powerpc below are the version > details, > host=build=i686-pc-linux-gnu > target=powerpc-home-linux-gnu > binutils-2.22 gcc-4.6.2 glibc-2.14.1 gmp-5.0.4 linux-2.6.34 mpc-0.9 > mpfr-3.1.0 > (soft links created for gmp, mpc and mpfr in gcc) > Cross-compiling is *hard*, and it's *not* what LFS is about. Those of us who have built LFS on ppc in the past (generally, on macs) always built on the hardware, from an existing linux system.
What you appear to be trying to do is more like cross-lfs or crosstool. [...] > > 4. glibc configure, > ../glibc-2.14.1/configure --build=i686-pc-linux-gnu > --host=powerpc-home-linux-gnu --with-pkgversion=ratnaraj > --prefix=/home/ratnaraj/cross/objdir/ppc_cross > --with-sysroot=/home/ratnaraj/cross/objdir/ppc_cross/powerpc-home-linux-gnu/sysroot > --disable-profile libc_cv_forced_unwind=yes libc_cv_c_cleanup=yes > --enable-add-ons --enable-kernel=2.6.34 > > ERROR: > /home/ratnaraj/cross/objdir/elf/ld.so -lgcc > /home/ratnaraj/cross/objdir/libc_pic.os: In function `__GI___assert_fail': > /home/ratnaraj/cross/glibc-2.14.1/assert/assert.c:105: undefined reference > to `__GI___dcgettext' Maybe this is a problem specific to ppc (perhaps, specific to these versions of the toolchain), or maybe it can't find the kernel headers. Actually, I *think* (at cross-lfs) we had to disable gettext when doing real cross-compiles, but I don't remember which configure switch does that. Maybe --disable-nls ? The big problems with cross-compiling is that every architecture, or sub-architecture, is different and from time to time some of them will need unique fixes. I can remember from when I was contributing to cross-lfs that changes tested on one of the more common architectures, or toolchain upgrades, often broke some of the less-used architectures. If your ppc is a desktop machine (i.e. an old mac), building from an existing linux system using steps based on LFS can probably be made to work. Alternatively, use cross-lfs (that way, you can build the initial cross-compile system on i686, and then boot that to build the final system. If it is one of the newer embedded ppc machines, try the clfs-embedded book. In either case, ppc is now very much a minority interest, so you will probably find that what is in those books may need modification to work on your hardware. ĸen -- das eine Mal als Tragödie, das andere Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
