I have an AMD64 desktop/server system (amd64 arch) that I would like to use for cross-compiling packages for my i686 laptop. The problem isn't that my laptop is slow, just that I use it for real work, and pretend work, so I would like to reduce the amount of time and risk involved in keeping it up to date.
So far I have tried two methods: 1. crossdev. This method works for compiling some packages with: ROOT=/mnt/path PORTAGE_CONFIGROOT=/mnt/path emerge <pkg> But it doesn't work for deep world updates (emerge -DNuv world), as portage ends up using the make.conf from the host, not target. I also have some problems with portage using the hosts package database. Even when building specific packages, there seem to be many packages that fail to link, or run things like freetype-config or kde-config to determine paths for libraries and include files and the like, and that doesn't work right when cross-compiling. 2. chroot. I created a chroot environment by copying the actual / and /var filesystems from my laptop, so I could use the actual 32-bit toolchain and package database for my laptop. This works better, as I can at least start deep world updates, and I don't have the link or *-config issues with the crossdev method. The big problem here is packages that use uname or /bin/arch commands to determine the architecture. Since the kerrnel the chroot is running on is still for the amd64 arch, these packages get the idea that they can compile 64-bit code, which of course fails miserably with a 32-bit compiler. My current options for making this really are to either setup a virtual machine with something like vmware-server, so that I actually boot the i686 kernel. I would probably try to use an nfs-root for this. Or I can convert my box to an x86 profile, which should also fix my problems with chroot environment. But of course I would lose any ability to play around with the 64-bit stuff, and the ability to file bugs against the packages that (wrongly) look at uname/arch output. So does anybody have an AMD64-to-i686 cross-compiling environment that they are happy with? -Richard -- gentoo-amd64@gentoo.org mailing list