Upgrade to Glibc-2.16.0. Fixes #3131.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9922 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Matthew Burgess 2012-08-05 14:25:02 +00:00
parent 36ba266b6f
commit f1c177f958
25 changed files with 104 additions and 68 deletions

View File

@ -37,6 +37,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>

View File

@ -231,14 +231,6 @@
<para>&coreutils-i18n-patch;</para>
</listitem>
<listitem>
<para>&glibc-fixes-patch;</para>
</listitem>
<listitem>
<para>&glibc-gcc_fix-patch;</para>
</listitem>
<listitem>
<para>&kbd-fixes-patch;</para>
</listitem>

View File

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

View File

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

View File

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

View File

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

View File

@ -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 \

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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 \

View File

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

View File

@ -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 \

View File

@ -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 \

View File

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

View File

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

View File

@ -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 \

View File

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

View File

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

View File

@ -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 \

View File

@ -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}]" -->

View File

@ -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">

View File

@ -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">