Jeremy Huntwork wrote:
> Bryan Kadzban wrote:
>> (I have a fairly large collection of build64 scripts that hold what
>> I've done for various packages to get their libs into the right
>> directory. This is for LFS, chunks of BLFS, and several beyond-BLFS
>> packages.  The *vast* majority needed nothing more than --libdir.
>> If/when multilib starts being worked on, I'd have no problem going
>> through those and seeing what packages in LFS needed what
>> arguments.  In fact, I might do this anyway; now I'm curious...)
> 
> Yeah, I've been starting to build a multilib system based on current
> LFS dev and these are just the sorts of issues that are cropping up.
> I'd be interested in seeing your results.

Getting back to this.  :-)  What I did, grouped by current (SVN) chapter
6 package:

autoconf: only built 64-bit; no switches

automake: only built 64-bit; no switches

bash: only built 64-bit; no switches

binutils: only built 64-bit; used --libdir=/usr/lib64

bison: only built 64-bit; no switches

bzip2: built twice; manually copied 32-bit libs, then manually cleaned
up after the 64-bit "make install" didn't put things in the right lib*
directory.  (Bad idea to follow this one in the book.  More recent bzip2
packages may work better.)

coreutils: only built 64-bit; no switches

db: did not build (did not use man-db)

diffutils: only built 64-bit; no switches

e2fsprogs: built both libs; used a sed to the configure script to force
it to use lib64 in config.status (may not be needed anymore; this was an
old e2fsprogs)

file: built both libs; used --libdir=/usr/lib64

findutils: only built 64-bit; used --libexecdir=/usr/lib64/locate

flex: built both libs; used --libdir=/usr/lib64

gawk: only built 64-bit; used --libexecdir=/usr/lib64

gcc: only built a 64-bit binary; used --libdir=/usr/lib64 and
--libexecdir=/usr/lib64

gettext: built both libs; used --libdir=/usr/lib64

glibc: built both libs; used --libexecdir=/usr/lib64/glibc (for
pt_chown) and --libdir=/usr/lib64; also did an:

> echo "slibdir=/lib64" >>configparms

before building (not sure why).

gmp: did not build (used an older gcc)

grep: only built 64-bit; no switches

groff: only built 64-bit; used --libdir=/usr/lib64

grub: only built 32-bit; no switches

gzip: only built 64-bit; no switches

iana-etc: N/A

inetutils: only built 64-bit; no switches

iproute2: only built 64-bit; no switches

kbd: only built 64-bit; used --datadir=/lib64/kbd

less: only built 64-bit; no switches

libtool: built both libs, not sure why.  Did not give any specific
arguments (for libdir-type stuff) to configure.

linux-headers: N/A

m4: only built 64-bit; no switches

make: only built 64-bit; no switches

man-db: did not build.  man was only built 64-bit, but that's not a
valid comparison.

man-pages: N/A

module-init-tools: only built 64-bit, no switches

mpfr: didn't build (older gcc)

ncurses: built both libs; used --libdir=/lib64

patch: only built 64-bit, no switches

perl: built both libs (perl-32/perl-64, plus a C wrapper).  Appended to
hints/linux.sh to get the right directory (installstyle="lib64/perl5");
also set libpth="/usr/local/lib64 /lib64 /usr/lib64" on the ./Configure
command line.  I suspect only the installstyle change affected the
installation process.

procps: built both libs; overrode lib64=lib64 on "make install"
(overrode it to "lib" for the 32-bit build).

psmisc: only built 64-bit, no switches

readline: built both libs; used --libdir=/lib64

sed: only built 64-bit, no switches

shadow: built both libs; used --libdir=/lib64

sysklogd: only built 64-bit (overrode CC on the make command line), no
other switches

sysvinit: only built 64-bit (same as sysklogd)

tar: only built 64-bit, no switches

texinfo: only built 64-bit, no switches

udev: only built 64-bit, used --with-libdir-name=lib64

util-linux-ng: built util-linux, only 64-bit, no switches

vim: only built 64-bit; no switches

zlib: built both libs; used --libdir=/usr/lib64

Anyone paying attention from CLFS probably recognizes most of these
changes: this was the state of CLFS when I built the system (it was CLFS
1.0.0rc4 or so).  So no, I didn't come up with most of these changes on
my own; they were copied directly from there.  :-)

So for the vast majority of packages (of the ones that were compiled
twice), the change for the 64-bit version was just --libdir and/or
--libexecdir.  Exceptions re-pasted below:

- bzip2 (re-evaluate)

- e2fsprogs (re-evaluate)

- glibc (set configparms to include slibdir; not sure why; this may not
be needed anymore)

- libtool (do nothing: maybe don't install twice?  not sure what the
advantage was)

- perl (hopefully just installstyle)

- procps (set lib64 on the "make install" command line to either "lib"
(for 32-bit) or "lib64" (for 64-bit))

- udev (--with-libdir-name)

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to