From d0a6c4c212b7204aef7ee577cf897d6c0c792520 Mon Sep 17 00:00:00 2001 From: Greg Schafer Date: Tue, 20 Jan 2004 05:59:05 +0000 Subject: Upgraded to Glibc-2.3.3, Kbd-1.12, Perl-5.8.3 and Shadow-4.0.4.1. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3177 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter05/coreutils.xml | 14 +++++++++++++- chapter05/glibc.xml | 47 ++++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 26 deletions(-) (limited to 'chapter05') diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml index 31d59312b..70362f9fc 100644 --- a/chapter05/coreutils.xml +++ b/chapter05/coreutils.xml @@ -15,7 +15,19 @@ Estimated required disk space: &coreutils-compsize-tools; Installation of Coreutils -Prepare Coreutils for compilation: +Coreutils has an issue when compiled against Glibc-&glibc-version;. +Without the patch below, some of the Coreutils utilities (head, tail, sort etc) +will reject their traditional syntax which has been in use for approximately 30 +years. The old syntax is so pervasive that compatibility must be preserved until +the many places where it is used can be updated. More details are provided in +the comments inside the patch itself. Use of this patch is by no means +compulsory but opting not to use it means you'll have deal with the consequences +yourself, i.e. patch the many software packages that use the old syntax. Apply +the patch: + +patch -Np1 -i ../&coreutils-posixver-patch; + +Now prepare Coreutils for compilation: ./configure --prefix=/tools diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 1f178dd15..58f198917 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -13,11 +13,6 @@ Estimated required disk space: &glibc-compsize-tools; Installation of Glibc -Before starting to install Glibc, you must cd -into the glibc-&glibc-version; directory and unpack -Glibc-linuxthreads in that directory, not in the directory where you usually -unpack all the sources. - This package is known to behave badly when you have changed its default optimization flags (including the -march and -mcpu options). Therefore, if you have defined any environment variables that override @@ -27,11 +22,6 @@ them when building Glibc. Basically, compiling Glibc in any other way than the book suggests is putting the stability of your system at risk. -Glibc has a subtle problem when compiled with GCC &gcc-version;. -Apply the following patch to fix this: - -patch -Np1 -i ../&glibc-sscanf-patch; - The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory: @@ -40,11 +30,11 @@ cd ../glibc-build Next, prepare Glibc for compilation: -../glibc-&glibc-version;/configure --prefix=/tools \ -    --disable-profile --enable-add-ons \ +../&glibc-dir;/configure --prefix=/tools \ +    --disable-profile --enable-add-ons=linuxthreads \     --with-headers=/tools/include \     --with-binutils=/tools/bin \ -    --without-gd +    --without-gd --without-cvs The meaning of the configure options: @@ -53,8 +43,9 @@ cd ../glibc-build building of the libraries with profiling information. Omit this option if you plan to do profiling. ---enable-add-ons: This enables any -add-ons that were installed with Glibc, in our case Linuxthreads. +--enable-add-ons=linuxthreads: This +tells Glibc to use the Linuxthreads add-on as its threading +library. --with-binutils=/tools/bin and --with-headers=/tools/include: Strictly speaking @@ -62,10 +53,16 @@ these switches are not required. But they ensure nothing can go wrong with regard to what kernel headers and Binutils programs get used during the Glibc build. - --without-gd: This switch ensures +--without-gd: This switch ensures that we don't build the memusagestat program, which strangely enough insists on linking against the host's libraries (libgd, libpng, libz, and so forth). + +--without-cvs: This is meant to prevent +the Makefiles from attempting automatic CVS commits when using a CVS snapshot. +But it's not actually needed these days. We use it because it silences an +annoying but harmless warning about a missing autoconf +program. During this stage you might see the following warning: @@ -158,15 +155,15 @@ command will do so: make localedata/install-locales -An alternative to running the previous command is to install only -those locales which you need or want. This can be achieved by using the -localedef command. Information on this can be -found in the INSTALL file in the -glibc-&glibc-version; source. However, there are a number -of locales that are essential for the tests of future packages to pass, in -particular, the libstdc++ tests from GCC. The following -instructions, instead of the install-locales target above, will install -the minimum set of locales necessary for the tests to run successfully: +An alternative to running the previous command is to install only those +locales which you need or want. This can be achieved by using the +localedef command. Information on this can be found in +the INSTALL file in the Glibc source. However, there are +a number of locales that are essential for the tests of future packages to +pass, in particular, the libstdc++ tests from GCC. The +following instructions, instead of the install-locales target above, will +install the minimum set of locales necessary for the tests to run +successfully: mkdir -p /tools/lib/locale localedef -i de_DE -f ISO-8859-1 de_DE -- cgit v1.2.3-54-g00ecf