On Thu, Sep 17, 2009 at 2:31 PM, Matthew Burgess <matt...@linuxfromscratch.org> wrote: > On Thu, 17 Sep 2009 16:18:16 -0500, Bruce Dubbs <bruce.du...@gmail.com> wrote: >> About the only other thing I can think of that is a candidate for LFS >> would be to add instructions for multi-lib. > > I think I'd like to see that work go in too, but I have no experience of it > and > don't have suitable hardware to test against either, so doubt I'd be able to > help out much with it. > > Regards, > > Matt.
I have been experimenting with a multilib LFS System (where /lib, /usr/lib are used for 64bit, and /lib/32, and /usr/lib/32 are used for 32bit). I wanted something as close to LFS as possible, primarily 64bit, but just enough 32bit so if I wanted to compile something 32bit, I could. In fact, the only 32bit libraries I install, are e2fs, glibc, ncurses, udev, utillinux, and zlib. [The only 32bit program I use is wine, I didn't want a full fledged 32bit system just for wine]. If all I wanted was a compiler that could build 32bit code, I could probably drop e2fs, ncurses, udev, and utillinux from that list. The toolchain I use for compiling the system is based on our previous work, I could not make the current directions build a multilib capable gcc toolchain. (I am not an expert when it comes to tool chains though) If you wish, I could review my buildscripts, and note where I deviated for a 32bit build. (From the email, I get the sense this is probably not a immediate goal) My Thoughs when I designed my MultiLib LFS System: - A Typical user would probably not need every 32bit library that is build in a base LFS Build if they have a 64bit version, but you would still want the ability to install it at a later date [GCC Multilib Compiler, which requires zlib32bit, and glibc32bit. binutils/gcc should be build with multilib support] - Most programs like to install in /lib or /usr/lib by default, which in a standard multilib system. Some programs take a lot of effort to install in /lib64 and /usr/lib64. I decided to use /lib and /usr/lib as 64bit directories and /lib/32, /usr/lib/32 as 32bit. [For me, this was the best decision at the time. Kept things clean, and close to LFS defaults. I am not sure what would be the best in the official book. Either /lib,/lib64, of /lib32,lib I suppose]. - Some programs have their own program to find paths, ex:/ ncurses-config. I did not like the idea of using something like ARCH=32 or ARCH=64 for installation, so instead I threw such programs in /usr/lib/32/bin. [I noticed that CLFS/CBLFS use this to specify which program to run] - in LFS, we prefer to stay as close to the defaults as specified by the package maintainer. On my system, if I want to build a program 32bit, I could use PATH=/usr/lib/32/bin:${PATH} CC="gcc -m32" CXX="g++ -m32" PKG_CONFIG_PATH=/usr/lib/32/pkgconfig if I want to build 64bit, I would not have to deviate from LFS/BLFS, except in a few odd cases. Nathan Coulson (conathan) ------ Location: Brittish Columbia, Canada Timezone: PST (-8) Webpage: http://www.nathancoulson.com -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page