On Thu, Sep 17, 2009 at 2:31 PM, Matthew Burgess
<[email protected]> wrote:
> On Thu, 17 Sep 2009 16:18:16 -0500, Bruce Dubbs <[email protected]> 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