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

Reply via email to