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)
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