aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Burgess <matthew@linuxfromscratch.org>2012-08-05 14:25:02 +0000
committerMatthew Burgess <matthew@linuxfromscratch.org>2012-08-05 14:25:02 +0000
commitf1c177f9587a73e995b274d60babc763a4ed2f61 (patch)
tree0b8e3139ea25ac4106cbb4d044c61a46e962fc1f
parent36ba266b6f3981db638891ec5fa369bc5ae258a2 (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.xml10
-rw-r--r--chapter01/whatsnew.xml8
-rw-r--r--chapter03/patches.xml16
-rw-r--r--chapter05/diffutils.xml4
-rw-r--r--chapter05/gcc-pass1.xml6
-rw-r--r--chapter05/gettext.xml4
-rw-r--r--chapter05/glibc.xml16
-rw-r--r--chapter05/m4.xml4
-rw-r--r--chapter05/tar.xml4
-rw-r--r--chapter06/coreutils.xml2
-rw-r--r--chapter06/diffutils.xml4
-rw-r--r--chapter06/e2fsprogs.xml2
-rw-r--r--chapter06/gettext.xml4
-rw-r--r--chapter06/glibc.xml35
-rw-r--r--chapter06/grub.xml4
-rw-r--r--chapter06/inetutils.xml6
-rw-r--r--chapter06/libpipeline.xml4
-rw-r--r--chapter06/m4.xml4
-rw-r--r--chapter06/man-db.xml4
-rw-r--r--chapter06/patch.xml2
-rw-r--r--chapter06/perl.xml6
-rw-r--r--chapter06/tar.xml4
-rw-r--r--general.ent4
-rw-r--r--packages.ent6
-rw-r--r--patches.ent9
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" &gt; 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#&lt;rpc/types.h&gt;#"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 &quot;s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=$DL -o|&quot; \
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"/&amp; \&amp;\&amp; $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 &ndash; -->
<!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">