Author: dj
Date: Fri Dec 16 22:46:18 2016
New Revision: 11154

Log:
Merge nosym branch.

Modified:
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/chapter05/gcc-pass1.xml
   trunk/BOOK/chapter05/gcc-pass2.xml
   trunk/BOOK/chapter06/creatingdirs.xml
   trunk/BOOK/chapter06/gcc.xml
   trunk/BOOK/chapter06/glibc.xml
   trunk/BOOK/chapter06/libcap.xml
   trunk/BOOK/general.ent

Modified: trunk/BOOK/chapter01/changelog.xml
==============================================================================
--- trunk/BOOK/chapter01/changelog.xml  Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter01/changelog.xml  Fri Dec 16 22:46:18 2016        (r11154)
@@ -43,6 +43,17 @@
     appropriate for the entry or if needed the entire day's listitem.
 -->
     <listitem>
+      <para>2016-12-17</para>
+      <itemizedlist>
+        <listitem>
+          <para>[dj] - Remove {,/usr}/lib64 symlinks for x86_64 builds. Add
+          /lib64 directory with symlinks to dynamic loader. Adjust installation
+          of glibc, gcc, and libcap to account for filesystemd changes.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>2016-12-10</para>
       <itemizedlist>
         <listitem>

Modified: trunk/BOOK/chapter05/gcc-pass1.xml
==============================================================================
--- trunk/BOOK/chapter05/gcc-pass1.xml  Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter05/gcc-pass1.xml  Fri Dec 16 22:46:18 2016        (r11154)
@@ -68,8 +68,7 @@
     class="directory">/usr/include</filename> from GCC's include search path.
     Issue:</para>
 
-<screen><userinput remap="pre">for file in \
- $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
+<screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
 do
   cp -uv $file{,.orig}
   sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
@@ -97,7 +96,18 @@
     Finally, we use <command>touch</command> to update the timestamp on the
     copied files.  When used in conjunction with <command>cp -u</command>, this
     prevents unexpected changes to the original files in case the commands are
-    inadvertently run twice.  </para>
+    inadvertently run twice.</para>
+
+    <para>Finally, on x86_64 hosts, set the default directory name for
+    64-bit libraries to <quote>lib</quote>:</para>
+
+<screen><userinput remap="pre">case $(uname -m) in
+  x86_64)
+    sed -e '/m64=/s/lib64/lib/' \
+        -i.orig gcc/config/i386/t-linux64
+ ;;
+esac</userinput></screen>
+
 <!--
     <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

Modified: trunk/BOOK/chapter05/gcc-pass2.xml
==============================================================================
--- trunk/BOOK/chapter05/gcc-pass2.xml  Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter05/gcc-pass2.xml  Fri Dec 16 22:46:18 2016        (r11154)
@@ -70,8 +70,7 @@
     use the one installed in <filename
     class="directory">/tools</filename>.</para>
 
-<screen><userinput remap="pre">for file in \
- $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
+<screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
 do
   cp -uv $file{,.orig}
   sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
@@ -84,6 +83,16 @@
   touch $file.orig
 done</userinput></screen>
 
+    <para>If building on x86_64, change the default directory name for 64-bit
+    libraries to <quote>lib</quote>:</para>
+
+<screen><userinput remap="pre">case $(uname -m) in
+  x86_64)
+    sed -e '/m64=/s/lib64/lib/' \
+        -i.orig gcc/config/i386/t-linux64
+  ;;
+esac</userinput></screen>
+
     <para>As in the first build of GCC it requires the GMP, MPFR and MPC
     packages. Unpack the tarballs and move them into the required directory
     names:</para>

Modified: trunk/BOOK/chapter06/creatingdirs.xml
==============================================================================
--- trunk/BOOK/chapter06/creatingdirs.xml       Sat Dec 10 20:11:00 2016        
(r11153)
+++ trunk/BOOK/chapter06/creatingdirs.xml       Fri Dec 16 22:46:18 2016        
(r11154)
@@ -24,9 +24,7 @@
 mkdir -pv /usr/{,local/}share/man/man{1..8}
 
 case $(uname -m) in
- x86_64) ln -sv lib /lib64
-         ln -sv lib /usr/lib64
-         ln -sv lib /usr/local/lib64 ;;
+ x86_64) mkdir -v /lib64 ;;
 esac
 
 mkdir -v /var/{log,mail,spool}

Modified: trunk/BOOK/chapter06/gcc.xml
==============================================================================
--- trunk/BOOK/chapter06/gcc.xml        Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter06/gcc.xml        Fri Dec 16 22:46:18 2016        (r11154)
@@ -45,6 +45,16 @@
 
 <screen><userinput remap="pre">patch -Np1 -i 
../gcc-6.1.0-asan-1.patch</userinput></screen>
 -->
+    <para>If building on x86_64, change the default direcotory name for 64-bit
+    libraries to <quote>lib</quote>:</para>
+
+<screen><userinput remap="pre">case $(uname -m) in
+  x86_64)
+    sed -e '/m64=/s/lib64/lib/' \
+        -i.orig gcc/config/i386/t-linux64
+  ;;
+esac</userinput></screen>
+
     <para>The GCC documentation recommends building GCC in a dedicated build 
directory:</para>
 
 <screen><userinput remap="pre">mkdir -v build
@@ -175,10 +185,8 @@
 
   <para>Depending on your machine architecture, the above may differ slightly,
   the difference usually being the name of the directory
-  after <filename class="directory">/usr/lib/gcc</filename>. If your machine is
-  a 64-bit system, you may also see a directory named <filename 
class="directory">lib64</filename>
-  towards the end of the string. The important thing to
-  look for here is that <command>gcc</command> has found all three
+  after <filename class="directory">/usr/lib/gcc</filename>. The important
+  thing to look for here is that <command>gcc</command> has found all three
   <filename>crt*.o</filename> files under the
   <filename class="directory">/usr/lib</filename> directory.</para>
 

Modified: trunk/BOOK/chapter06/glibc.xml
==============================================================================
--- trunk/BOOK/chapter06/glibc.xml      Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter06/glibc.xml      Fri Dec 16 22:46:18 2016        (r11154)
@@ -57,6 +57,18 @@
 
 <screen><userinput remap="pre">patch -Np1 -i 
../&glibc-fhs-patch;</userinput></screen>
 
+    <para>Create a symlink for LSB compliance and, for x86_64, a
+    compatibility symlink required for the dynamic loader to function
+    correctly:</para>
+
+<screen><userinput remap="pre">case $(uname -m) in
+    x86) ln -s ld-linux.so.2 /lib/ld-lsb.so.3
+    ;;
+    x86_64) ln -s ../lib/ld-linux-x86-64.so.2 /lib64
+            ln -s ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
+    ;;
+esac</userinput></screen>
+
     <para>The Glibc documentation recommends building Glibc 
     in a dedicated build directory:</para>
 
@@ -67,7 +79,8 @@
 
 <screen><userinput remap="configure">../configure --prefix=/usr          \
              --enable-kernel=&min-kernel; \
-             --enable-obsolete-rpc</userinput></screen>
+             --enable-obsolete-rpc        \
+             libc_cv_slibdir=/lib</userinput></screen>
 
     <para>Compile the package:</para>
 

Modified: trunk/BOOK/chapter06/libcap.xml
==============================================================================
--- trunk/BOOK/chapter06/libcap.xml     Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/chapter06/libcap.xml     Fri Dec 16 22:46:18 2016        (r11154)
@@ -55,7 +55,7 @@
 
     <para>Install the package:</para>
 
-<screen><userinput remap="install">make RAISE_SETFCAP=no prefix=/usr install
+<screen><userinput remap="install">make RAISE_SETFCAP=no lib=lib prefix=/usr 
install
 chmod -v 755 /usr/lib/libcap.so</userinput></screen>
 
     <variablelist>
@@ -70,6 +70,16 @@
         </listitem>
       </varlistentry>
 
+      <varlistentry>
+        <term><parameter>lib=lib</parameter></term>
+        <listitem>
+          <para>This parameter installs the library in
+          <filename>$prefix/lib</filename> rather than
+          <filename>$prefix/lib64</filename> on x86_64. It has no effect on
+          x86.</para>
+        </listitem>
+      </varlistentry>
+ 
     </variablelist>
 
     <para>The shared library needs to be moved to

Modified: trunk/BOOK/general.ent
==============================================================================
--- trunk/BOOK/general.ent      Sat Dec 10 20:11:00 2016        (r11153)
+++ trunk/BOOK/general.ent      Fri Dec 16 22:46:18 2016        (r11154)
@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20161210">
+<!ENTITY version         "SVN-20161217">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc 
releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or 
"x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20161203-systemd">
+<!ENTITY versiond        "20161217-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "December 10, 2016">
+<!ENTITY releasedate     "December 17, 2016">
 <!ENTITY copyrightdate   "1999-2016"><!-- jhalfs needs a literal dash, not 
&ndash; -->
 <!ENTITY milestone       "7.11">
 
-- 
http://lists.linuxfromscratch.org/listinfo/lfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to