Parcourir la source

Really apply various fixes for building with glibc-2.33,
and change the order in chapter 8 so that everything is built against
chapter 8 glibc.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@12112 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Pierre Labastie il y a 3 ans
Parent
commit
df2e99e94d

+ 11 - 0
chapter01/changelog.xml

@@ -45,6 +45,17 @@
     <listitem>
       <itemizedlist>
       <para>2021-02-02</para>
+        <listitem>
+          <para>[pierre] - Move tcl, expect, and dejagnu just before binutils
+          in chapter 8: this allows to build them against chapter 8
+          glibc.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Tweaks to allow building with glibc-2.33:
+          build a "file" executable for the host before cross-compiling
+          it; replace the relinked libctf with the one that was linked
+          during "make" in binutils-pass2.</para>
+        </listitem>
         <listitem>
           <para>[bdubbs] - Update to bc-3.2.6. Fixes
           <ulink url="&lfs-ticket-root;4800">#4800</ulink>.</para>

+ 2 - 1
chapter06/binutils-pass2.xml

@@ -87,7 +87,8 @@ cd       build</userinput></screen>
 
     <para>Install the package:</para>
 
-<screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen>
+<screen><userinput remap="install">make DESTDIR=$LFS install
+install -vm755 libctf/.libs/libctf.so.0.0.0 $LFS/usr/lib</userinput></screen>
 
     <para>
       Workaround an issue causing

+ 11 - 1
chapter06/file.xml

@@ -43,6 +43,16 @@
   <sect2 role="installation">
     <title>Installation of File</title>
 
+    <para>The build host <quote>file</quote> command iwith the same version as
+    the one we are building is needed for building the signature file. Run the
+    following commands to build it:</para>
+
+<screen><userinput remap="pre">mkdir build
+pushd build
+../configure
+make
+popd</userinput></screen>
+
     <para>Prepare File for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr --host=$LFS_TGT --build=$(./config.guess)</userinput></screen>
@@ -54,7 +64,7 @@
      cross-compiling, and use the just built "file". -->
     <para>Compile the package:</para>
 
-<screen><userinput remap="make">make</userinput></screen>
+<screen><userinput remap="make">make FILE_COMPILE=$(pwd)/build/src/file</userinput></screen>
 
     <para>Install the package:</para>
 

+ 5 - 5
chapter08/chapter08.xml

@@ -14,11 +14,6 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="pkgmgt.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="man-pages.xml"/>
-
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
-
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iana-etc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glibc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/>
@@ -30,6 +25,11 @@
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bc.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="dejagnu.xml"/>
+
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/>

+ 2 - 2
chapter08/glibc.xml

@@ -126,7 +126,7 @@ cd       build</userinput></screen>
     are usually safe to ignore.</para>
 
 <!-- Use remap="make" here to work around a jhalfs issue. -->
-<screen><userinput remap="make">case $(uname -m) in
+<!--<screen><userinput remap="make">case $(uname -m) in
   i?86)   ln -sfnv $PWD/elf/ld-linux.so.2        /lib ;;
   x86_64) ln -sfnv $PWD/elf/ld-linux-x86-64.so.2 /lib ;;
 esac</userinput></screen>
@@ -134,7 +134,7 @@ esac</userinput></screen>
     <note><para>The symbolic link above is needed to run the tests at this
     stage of building in the chroot environment.  It will be overwritten
     in the install phase below.</para></note>
-
+-->
 <screen><userinput remap="test">make check</userinput></screen>
 
     <para>You may see some test failures.  The Glibc test suite is

+ 2 - 3
chapter08/tcl.xml

@@ -45,11 +45,10 @@
     <title>Installation of Tcl</title>
 
     <para>This package and the next two (Expect and DejaGNU) are
-    installed to support running the test suites for GCC and binutils and other
+    installed to support running the test suites for binutils and GCC and other
     packages.  Installing three packages for testing purposes may seem
     excessive, but it is very reassuring, if not essential, to know that the
-    most important tools are working properly. These packages are required
-    to run the test suites in this chapter.</para>
+    most important tools are working properly.</para>
 
 <!--    <para>Note that the Tcl package used here is a minimal version needed
     to run the LFS tests.  For the full package, see the