aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorPierre Labastie <pieere@linuxfromscratch.org>2020-05-26 12:25:21 +0000
committerPierre Labastie <pieere@linuxfromscratch.org>2020-05-26 12:25:21 +0000
commit59b66d792f68908b95b7d91d45d5573722d9ec82 (patch)
tree849b8c7b019ae786c8b90d36ce1e06d476927f16 /chapter06
parentda99f961a5959cf5a6c01660377df41b5168046c (diff)
Fix various test failures:
- bison and man-db: use a symlink: tools/share/locale->/usr/share/locale/locale-archive so that the installed locales are found by programs not yet installed in /usr - vim: upstade to 8.2.0814 (used for testing by several persons) - sed in automake, fixes one test - patch for gold: allows its testsuite to run - mount /dev/pts as --bind: foxes a test in coreutils - bash: use su << EOF instead of su -c, to keep a controlling terminal git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11859 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/automake.xml4
-rw-r--r--chapter06/bash.xml9
-rw-r--r--chapter06/binutils.xml8
-rw-r--r--chapter06/coreutils.xml7
-rw-r--r--chapter06/createfiles.xml20
-rw-r--r--chapter06/kernfs.xml2
6 files changed, 40 insertions, 10 deletions
diff --git a/chapter06/automake.xml b/chapter06/automake.xml
index 411f096c4..11dccfad3 100644
--- a/chapter06/automake.xml
+++ b/chapter06/automake.xml
@@ -41,6 +41,10 @@
<sect2 role="installation">
<title>Installation of Automake</title>
+ <para>Fix a failing test:</para>
+
+<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
+
<para>Prepare Automake for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/automake-&automake-version;</userinput></screen>
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index adeec10a4..953c4ad72 100644
--- a/chapter06/bash.xml
+++ b/chapter06/bash.xml
@@ -80,7 +80,14 @@
<para>Now, run the tests as the <systemitem
class="username">nobody</systemitem> user:</para>
-<screen><userinput remap="test">su nobody -s /bin/bash -c "PATH=$PATH HOME=/home make tests"</userinput></screen>
+<screen><userinput remap="test">su nobody -s /bin/bash &lt;&lt; EOF
+PATH=$PATH HOME=/home make tests
+EOF</userinput></screen>
+
+ <para>The <command>su</command> command above is slightly different from
+ other places in the book. The
+ reason is that the <option>-c</option> option runs the command without
+ a controlling terminal, while the bash test suite needs one.</para>
<para>Install the package and move the main executable to
<filename class='directory'>/bin</filename>:</para>
diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml
index d2d9c055d..04dbd199c 100644
--- a/chapter06/binutils.xml
+++ b/chapter06/binutils.xml
@@ -58,9 +58,11 @@
Ask your system administrator to create more.</computeroutput></screen>
<para>Now remove one test that prevents the tests from running
- to completion:</para>
+ to completion, and fix other tests in the gold test suite, which
+ need to be adjusted for GCC 10:</para>
-<screen><userinput remap="pre">sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in</userinput></screen>
+<screen><userinput remap="pre">sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
+patch -Np1 -i ../binutils-&binutils-version;-gcc10_gold_test_fix-1.patch</userinput></screen>
<para>The Binutils documentation recommends building Binutils
in a dedicated build directory:</para>
@@ -157,7 +159,7 @@ cd build</userinput></screen>
<screen><userinput remap="test">make -k check</userinput></screen>
- <para>The ver_test_pr16504.sh test is known to fail.</para>
+<!-- <para>The ver_test_pr16504.sh test is known to fail.</para>-->
<para>Install the package:</para>
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index 42ea98b0d..50907ae11 100644
--- a/chapter06/coreutils.xml
+++ b/chapter06/coreutils.xml
@@ -126,14 +126,13 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
<para>Now run the tests. Make sure the PATH in the <userinput>su</userinput>
environment includes /tools/bin.</para>
-<screen><userinput remap="test">su nobody -s /bin/bash \
- -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
-
+<screen><userinput remap="test">su nobody -s /bin/bash -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
+<!--
<para>The test program test-getlogin is known to fail in a
partially built system environment like the chroot environment here, but
passes if run at the end of this chapter. The test program tty.sh is
also known to fail.</para>
-
+-->
<para>Remove the temporary group:</para>
<screen><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index ac2805597..8cb6175cb 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -56,7 +56,10 @@ done
for incdir in blkid libmount uuid libfdisk
do
ln -svf /tools/include/$incdir /usr/include
-done</userinput></screen>
+done
+
+mkdir -pv /tools/lib/locale
+ln -sv /usr/lib/locale/locale-archive /tools/lib/locale</userinput></screen>
<variablelist>
<title>The purpose of each link:</title>
@@ -200,6 +203,21 @@ done</userinput></screen>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>
+ <parameter>
+ <filename>/tools/lib/locale/locale-archive</filename>
+ </parameter>
+ </term>
+ <listitem>
+ <para>Some programs built in chapter 5 look for installed
+ locale descriptions in this file. The locale descriptions will be
+ installed in <filename>/usr/lib/locale/locale-archive</filename>
+ after building the final glibc. The symlink allows those programs
+ to use the installed locales.</para>
+ </listitem>
+ </varlistentry>
+
</variablelist>
<para>Historically, Linux maintains a list of the mounted file systems in the
diff --git a/chapter06/kernfs.xml b/chapter06/kernfs.xml
index 860cdfc00..8d9091c73 100644
--- a/chapter06/kernfs.xml
+++ b/chapter06/kernfs.xml
@@ -68,7 +68,7 @@ mknod -m 666 $LFS/dev/null c 1 3</userinput></screen>
<para>Now mount the remaining virtual kernel filesystems:</para>
-<screen><userinput>mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
+<screen><userinput>mount -v --bind /dev/pts $LFS/dev/pts
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys
mount -vt tmpfs tmpfs $LFS/run</userinput></screen>