diff options
author | Matthew Burgess <matthew@linuxfromscratch.org> | 2012-08-05 14:25:02 +0000 |
---|---|---|
committer | Matthew Burgess <matthew@linuxfromscratch.org> | 2012-08-05 14:25:02 +0000 |
commit | f1c177f9587a73e995b274d60babc763a4ed2f61 (patch) | |
tree | 0b8e3139ea25ac4106cbb4d044c61a46e962fc1f | |
parent | 36ba266b6f3981db638891ec5fa369bc5ae258a2 (diff) |
Upgrade to Glibc-2.16.0. Fixes #3131.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9922 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
-rw-r--r-- | chapter01/changelog.xml | 10 | ||||
-rw-r--r-- | chapter01/whatsnew.xml | 8 | ||||
-rw-r--r-- | chapter03/patches.xml | 16 | ||||
-rw-r--r-- | chapter05/diffutils.xml | 4 | ||||
-rw-r--r-- | chapter05/gcc-pass1.xml | 6 | ||||
-rw-r--r-- | chapter05/gettext.xml | 4 | ||||
-rw-r--r-- | chapter05/glibc.xml | 16 | ||||
-rw-r--r-- | chapter05/m4.xml | 4 | ||||
-rw-r--r-- | chapter05/tar.xml | 4 | ||||
-rw-r--r-- | chapter06/coreutils.xml | 2 | ||||
-rw-r--r-- | chapter06/diffutils.xml | 4 | ||||
-rw-r--r-- | chapter06/e2fsprogs.xml | 2 | ||||
-rw-r--r-- | chapter06/gettext.xml | 4 | ||||
-rw-r--r-- | chapter06/glibc.xml | 35 | ||||
-rw-r--r-- | chapter06/grub.xml | 4 | ||||
-rw-r--r-- | chapter06/inetutils.xml | 6 | ||||
-rw-r--r-- | chapter06/libpipeline.xml | 4 | ||||
-rw-r--r-- | chapter06/m4.xml | 4 | ||||
-rw-r--r-- | chapter06/man-db.xml | 4 | ||||
-rw-r--r-- | chapter06/patch.xml | 2 | ||||
-rw-r--r-- | chapter06/perl.xml | 6 | ||||
-rw-r--r-- | chapter06/tar.xml | 4 | ||||
-rw-r--r-- | general.ent | 4 | ||||
-rw-r--r-- | packages.ent | 6 | ||||
-rw-r--r-- | patches.ent | 9 |
25 files changed, 104 insertions, 68 deletions
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index ecf606196..b27ba26ea 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -38,6 +38,16 @@ --> <listitem> + <para>2012-08-05</para> + <itemizedlist> + <listitem> + <para>[matthew] - Upgrade to Glibc-2.16.0. Fixes + <ulink url="&lfs-ticket-root;3131">#3131</ulink>.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> <para>2012-07-25</para> <itemizedlist> <listitem> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index d6555274f..f2f772f32 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -232,14 +232,6 @@ </listitem> <listitem> - <para>&glibc-fixes-patch;</para> - </listitem> - - <listitem> - <para>&glibc-gcc_fix-patch;</para> - </listitem> - - <listitem> <para>&kbd-fixes-patch;</para> </listitem> diff --git a/chapter03/patches.xml b/chapter03/patches.xml index daa9f2581..c14b3e86a 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -58,22 +58,6 @@ </listitem> </varlistentry> - <varlistentry> - <term>Glibc Fixes Patch - <token>&glibc-fixes-patch-size;</token>:</term> - <listitem> - <para>Download: <ulink url="&patches-root;&glibc-fixes-patch;"/></para> - <para>MD5 sum: <literal>&glibc-fixes-patch-md5;</literal></para> - </listitem> - </varlistentry> - - <varlistentry> - <term>Glibc GCC Fix Patch - <token>&glibc-gcc_fix-patch-size;</token>:</term> - <listitem> - <para>Download: <ulink url="&patches-root;&glibc-gcc_fix-patch;"/></para> - <para>MD5 sum: <literal>&glibc-gcc_fix-patch-md5;</literal></para> - </listitem> - </varlistentry> - <!-- <varlistentry> <term>GRUB Disk Geometry Patch - <token>&grub-geometry-patch-size;</token>:</term> diff --git a/chapter05/diffutils.xml b/chapter05/diffutils.xml index 62ba35874..94ec7c49c 100644 --- a/chapter05/diffutils.xml +++ b/chapter05/diffutils.xml @@ -43,6 +43,10 @@ <sect2 role="installation"> <title>Installation of Diffutils</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' lib/stdio.in.h</userinput></screen> + <para>Prepare Diffutils for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen> diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 180cdf7ae..0edcd87d2 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -99,6 +99,12 @@ done</userinput></screen> prevents unexpected changes to the original files in case the commands are inadvertently run twice. </para> + <para>GCC doesn't detect stack protection correctly, which causes problems + for the build of Glibc-&glibc-version;, so fix that by issuing the following + command:</para> + +<screen><userinput remap="pre">sed -i '/k prot/agcc_cv_libc_provides_ssp=yes' gcc/configure</userinput></screen> + <para>The GCC documentation recommends building GCC outside of the source directory in a dedicated build directory:</para> diff --git a/chapter05/gettext.xml b/chapter05/gettext.xml index a8b59ea1e..acaeb28bd 100644 --- a/chapter05/gettext.xml +++ b/chapter05/gettext.xml @@ -46,6 +46,10 @@ <para>For our temporary set of tools, we only need to build and install one binary from Gettext.</para> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gettext-*/*/stdio.in.h</userinput></screen> + <para>Prepare Gettext for compilation:</para> <screen><userinput remap="configure">cd gettext-tools diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 53d3d5713..05607b344 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -43,18 +43,6 @@ <sect2 role="installation"> <title>Installation of Glibc</title> - <para>Address a header check that fails due to an incomplete build - environment at this point:</para> - - <screen><userinput remap="pre">sed -i 's#$ac_includes_default#\n\n#' sysdeps/i386/configure</userinput></screen> - - <para>Fix a path that is hardcoded:</para> - - <screen><userinput remap="pre">sed -i 's#/var/db#/tools/var/db#' Makeconfig</userinput></screen> - - <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para> -<screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen> - <para>The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory:</para> @@ -75,6 +63,10 @@ cd ../glibc-build</userinput></screen> i?86) echo "CFLAGS += -march=i486 -mtune=native" > configparms ;; esac</userinput></screen> + <para>Fix an issue when building Glibc-&glibc-version; with GCC-&gcc-version;:</para> + +<screen><userinput remap="pre">sed -i 's/ -lgcc_s//' ../glibc-&glibc-version;/Makeconfig</userinput></screen> + <para>Next, prepare Glibc for compilation:</para> <screen><userinput remap="configure">../glibc-&glibc-version;/configure \ diff --git a/chapter05/m4.xml b/chapter05/m4.xml index 4be3a0f36..0d4212cc2 100644 --- a/chapter05/m4.xml +++ b/chapter05/m4.xml @@ -43,6 +43,10 @@ <sect2 role="installation"> <title>Installation of M4</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' lib/stdio.in.h</userinput></screen> + <para>Prepare M4 for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen> diff --git a/chapter05/tar.xml b/chapter05/tar.xml index 002dc228f..37439d930 100644 --- a/chapter05/tar.xml +++ b/chapter05/tar.xml @@ -43,6 +43,10 @@ <sect2 role="installation"> <title>Installation of Tar</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gnu/stdio.in.h</userinput></screen> + <para>Prepare Tar for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen> diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index d197e10e6..9a19aa5bd 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -105,7 +105,7 @@ <para>Now run the tests:</para> -<screen><userinput remap="test">su nobody -s /bin/bash -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> +<screen><userinput remap="test">su nobody -s /bin/bash -c "make RUN_EXPENSIVE_TESTS=yes -k check || true"</userinput></screen> <para>Remove the temporary group:</para> diff --git a/chapter06/diffutils.xml b/chapter06/diffutils.xml index 0d8bd5c77..6c6400045 100644 --- a/chapter06/diffutils.xml +++ b/chapter06/diffutils.xml @@ -41,6 +41,10 @@ <sect2 role="installation"> <title>Installation of Diffutils</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' lib/stdio.in.h</userinput></screen> + <para>Prepare Diffutils for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml index 1ebbe6a55..472740379 100644 --- a/chapter06/e2fsprogs.xml +++ b/chapter06/e2fsprogs.xml @@ -113,7 +113,7 @@ cd build</userinput></screen> <para>To test the results, issue:</para> -<screen><userinput remap="test">make check</userinput></screen> +<screen><userinput remap="test">make -k check</userinput></screen> <para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory. If you do not have significantly more RAM than this, it diff --git a/chapter06/gettext.xml b/chapter06/gettext.xml index 684cd3060..0fc5cb286 100644 --- a/chapter06/gettext.xml +++ b/chapter06/gettext.xml @@ -43,6 +43,10 @@ <sect2 role="installation"> <title>Installation of Gettext</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gettext-*/*/stdio.in.h</userinput></screen> + <para>Prepare Gettext for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr \ diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml index 984c7dcea..72a73115b 100644 --- a/chapter06/glibc.xml +++ b/chapter06/glibc.xml @@ -72,7 +72,11 @@ <screen><userinput remap="pre">sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen> --> - <para>When running <command>make install</command>, a script called + <para>Fix a bug that causes the build to fail:</para> + +<screen><userinput remap="pre">sed -i 's#<rpc/types.h>#"rpc/types.h"#' sunrpc/rpc_clntout.c</userinput></screen> + +<!-- <para>When running <command>make install</command>, a script called <filename>test-installation.pl</filename> performs a small sanity test on our newly installed Glibc. However, because our toolchain still points to the <filename class="directory">/tools</filename> directory, the sanity @@ -82,15 +86,14 @@ <screen><userinput remap="pre">DL=$(readelf -l /bin/sh | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p') sed -i "s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$DL -o|" \ scripts/test-installation.pl -unset DL</userinput></screen> +unset DL</userinput></screen>--> - <para>In addition, there is a bug in the - <filename>test-installation.pl</filename> script in that it tries to link - a test program to a library that isn't installed by - <command>make install</command>. Issue the following <command>sed</command> - command to fix it:</para> + <para>When running <command>make install</command>, a script called + <filename>test-installation.pl</filename> performs a small sanity test on + our newly installed Glibc. However, it contains a bug that causes it to + fail, so prevent it from running by issuing the following command:</para> - <screen><userinput remap="pre">sed -i -e 's/"db1"/& \&\& $name ne "nss_test1"/' scripts/test-installation.pl</userinput></screen> +<screen><userinput remap="pre">sed -i '/test-installation.pl/d' Makefile</userinput></screen> <para>The <command>ldd</command> shell script contains Bash-specific syntax. Change its default program interpreter to <command>/bin/bash</command> @@ -100,12 +103,6 @@ unset DL</userinput></screen> <screen><userinput remap="pre">sed -i 's|@BASH@|/bin/bash|' elf/ldd.bash.in</userinput></screen> - <para>Fix a bug that causes several BLFS packages to segfault:</para> -<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fixes-patch;</userinput></screen> - - <para>Fix a bug that prevents Glibc from building with GCC-&gcc-version;:</para> -<screen><userinput remap="pre">patch -Np1 -i ../&glibc-gcc_fix-patch;</userinput></screen> - <para>The Glibc documentation recommends building Glibc outside of the source directory in a dedicated build directory:</para> @@ -315,6 +312,16 @@ rpc: files # End /etc/nsswitch.conf</literal> EOF</userinput></screen> + <para>Install timezone data:</para> +<screen><userinput>tar -xf ../tzdata&tzdata-version;.tar.gz + +for tz in etcetera southamerica northamerica europe africa antarctica \ + asia australasia backward pacificnew solar87 solar88 solar89 systemv; do + + zic -L leapseconds -d /usr/share/zoneinfo -y "sh yearistype.sh" ${tz} + +done</userinput></screen> + <para>One way to determine the local time zone, run the following script:</para> diff --git a/chapter06/grub.xml b/chapter06/grub.xml index 249447d1a..ea8f649da 100644 --- a/chapter06/grub.xml +++ b/chapter06/grub.xml @@ -40,6 +40,10 @@ <sect2 role="installation"> <title>Installation of GRUB</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' grub-core/gnulib/stdio.in.h</userinput></screen> + <para>Prepare GRUB for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr \ diff --git a/chapter06/inetutils.xml b/chapter06/inetutils.xml index 460fe98c7..471eaa0e2 100644 --- a/chapter06/inetutils.xml +++ b/chapter06/inetutils.xml @@ -40,6 +40,12 @@ <sect2 role="installation"> <title>Installation of Inetutils</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' lib/stdio.in.h</userinput></screen> + + <para>Prepare Inetutils for compilation:</para> + <screen><userinput remap="configure">./configure --prefix=/usr \ --libexecdir=/usr/sbin \ --localstatedir=/var \ diff --git a/chapter06/libpipeline.xml b/chapter06/libpipeline.xml index d9ecf4e55..060914c8d 100644 --- a/chapter06/libpipeline.xml +++ b/chapter06/libpipeline.xml @@ -41,6 +41,10 @@ <sect2 role="installation"> <title>Installation of Libpipeline</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gnulib/lib/stdio.in.h</userinput></screen> + <para>Prepare Libpipeline for compilation:</para> <screen><userinput remap="configure">PKG_CONFIG_PATH=/tools/lib/pkgconfig ./configure --prefix=/usr</userinput></screen> diff --git a/chapter06/m4.xml b/chapter06/m4.xml index fcbb8f672..3a20da992 100644 --- a/chapter06/m4.xml +++ b/chapter06/m4.xml @@ -40,6 +40,10 @@ <sect2 role="installation"> <title>Installation of M4</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' lib/stdio.in.h</userinput></screen> + <para>Prepare M4 for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> diff --git a/chapter06/man-db.xml b/chapter06/man-db.xml index 659934221..81faa9b2e 100644 --- a/chapter06/man-db.xml +++ b/chapter06/man-db.xml @@ -41,6 +41,10 @@ <sect2 role="installation"> <title>Installation of Man-DB</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gnulib/lib/stdio.in.h</userinput></screen> + <para>Prepare Man-DB for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr \ diff --git a/chapter06/patch.xml b/chapter06/patch.xml index f818a7cc9..2b52d142d 100644 --- a/chapter06/patch.xml +++ b/chapter06/patch.xml @@ -57,7 +57,7 @@ <para>To test the results, issue:</para> -<screen><userinput remap="test">make check</userinput></screen> +<screen><userinput remap="test">make -k check</userinput></screen> <para>Install the package:</para> diff --git a/chapter06/perl.xml b/chapter06/perl.xml index b0f0a4464..eff9a3a50 100644 --- a/chapter06/perl.xml +++ b/chapter06/perl.xml @@ -107,13 +107,17 @@ </variablelist> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i '/test-installation.pl/d' Makefile</userinput></screen> + <para>Compile the package:</para> <screen><userinput remap="make">make</userinput></screen> <para>To test the results (approximately 2.5 SBU), issue:</para> -<screen><userinput remap="test">make test</userinput></screen> +<screen><userinput remap="test">make -k test</userinput></screen> <para>Install the package:</para> diff --git a/chapter06/tar.xml b/chapter06/tar.xml index 842b17156..ddac76af7 100644 --- a/chapter06/tar.xml +++ b/chapter06/tar.xml @@ -40,6 +40,10 @@ <sect2 role="installation"> <title>Installation of Tar</title> + <para>Fix an incompatibility between this package and Glibc-&glibc-version;:</para> + +<screen><userinput remap="pre">sed -i -e '/gets is a/d' gnu/stdio.in.h</userinput></screen> + <para>Prepare Tar for compilation:</para> <screen><userinput remap="configure">FORCE_UNSAFE_CONFIGURE=1 \ diff --git a/general.ent b/general.ent index c9a0b2759..b239d3c3e 100644 --- a/general.ent +++ b/general.ent @@ -1,5 +1,5 @@ -<!ENTITY version "SVN-20120725"> -<!ENTITY releasedate "July 25, 2012"> +<!ENTITY version "SVN-20120805"> +<!ENTITY releasedate "August 3, 2012"> <!ENTITY copyrightdate "1999-2012"><!-- jhalfs needs a literal dash, not – --> <!ENTITY milestone "7.2"> <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" --> diff --git a/packages.ent b/packages.ent index 1b4889f04..55d970cb2 100644 --- a/packages.ent +++ b/packages.ent @@ -198,10 +198,10 @@ <!ENTITY gettext-ch6-du "125 MB"> <!ENTITY gettext-ch6-sbu "5.8 SBU"> -<!ENTITY glibc-version "2.15"> -<!ENTITY glibc-size "10,039 KB"> +<!ENTITY glibc-version "2.16.0"> +<!ENTITY glibc-size "9,756 KB"> <!ENTITY glibc-url "&gnu;glibc/glibc-&glibc-version;.tar.xz"> -<!ENTITY glibc-md5 "4f9f3b0e780a8c7179a372d34e9452bc"> +<!ENTITY glibc-md5 "80b181b02ab249524ec92822c0174cf7"> <!ENTITY glibc-home "&gnu-software;libc/"> <!ENTITY glibc-ch5-du "501 MB"> <!ENTITY glibc-ch5-sbu "5.5 SBU"> diff --git a/patches.ent b/patches.ent index 1bbacae47..2f9ca839d 100644 --- a/patches.ent +++ b/patches.ent @@ -37,15 +37,6 @@ <!ENTITY gcc-startfiles-patch-size "1.5 KB"> -<!ENTITY glibc-fixes-patch "glibc-&glibc-version;-fixes-1.patch"> -<!ENTITY glibc-fixes-patch-md5 "78659b024e7175dcc28e9fc4552b1a27"> -<!ENTITY glibc-fixes-patch-size "6.5 KB"> - -<!ENTITY glibc-gcc_fix-patch "glibc-&glibc-version;-gcc_fix-1.patch"> -<!ENTITY glibc-gcc_fix-patch-md5 "d1f28cb98acb9417fe52596908bbb9fd"> -<!ENTITY glibc-gcc_fix-patch-size "2.5 KB"> - - <!ENTITY grub-inode-patch "grub-&grub-version;-256byte_inode-1.patch"> <!ENTITY grub-inode-patch-md5 "2482bef9c1866b4045767a56268ba673"> <!ENTITY grub-inode-patch-size "4.8 KB"> |