Merge nosym branch.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11154 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
DJ Lucas 2016-12-17 06:46:18 +00:00
parent 9f3c264e7c
commit be3d9f313a
8 changed files with 76 additions and 17 deletions

View File

@ -42,6 +42,17 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as <listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem. 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> <listitem>
<para>2016-12-10</para> <para>2016-12-10</para>
<itemizedlist> <itemizedlist>

View File

@ -68,8 +68,7 @@ mv -v mpc-&mpc-version; mpc</userinput></screen>
class="directory">/usr/include</filename> from GCC's include search path. class="directory">/usr/include</filename> from GCC's include search path.
Issue:</para> Issue:</para>
<screen><userinput remap="pre">for file in \ <screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do do
cp -uv $file{,.orig} cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \ sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
@ -97,7 +96,18 @@ done</userinput></screen>
Finally, we use <command>touch</command> to update the timestamp on the Finally, we use <command>touch</command> to update the timestamp on the
copied files. When used in conjunction with <command>cp -u</command>, this copied files. When used in conjunction with <command>cp -u</command>, this
prevents unexpected changes to the original files in case the commands are 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 <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 for the build of Glibc-&glibc-version;, so fix that by issuing the following

View File

@ -70,8 +70,7 @@ esac</userinput></screen>
use the one installed in <filename use the one installed in <filename
class="directory">/tools</filename>.</para> class="directory">/tools</filename>.</para>
<screen><userinput remap="pre">for file in \ <screen><userinput remap="pre">for file in gcc/config/{linux,i386/linux{,64}}.h
$(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do do
cp -uv $file{,.orig} cp -uv $file{,.orig}
sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \ sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&amp;@g' \
@ -84,6 +83,16 @@ do
touch $file.orig touch $file.orig
done</userinput></screen> 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 <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 packages. Unpack the tarballs and move them into the required directory
names:</para> names:</para>

View File

@ -24,9 +24,7 @@ mkdir -v /usr/libexec
mkdir -pv /usr/{,local/}share/man/man{1..8} mkdir -pv /usr/{,local/}share/man/man{1..8}
case $(uname -m) in case $(uname -m) in
x86_64) ln -sv lib /lib64 x86_64) mkdir -v /lib64 ;;
ln -sv lib /usr/lib64
ln -sv lib /usr/local/lib64 ;;
esac esac
mkdir -v /var/{log,mail,spool} mkdir -v /var/{log,mail,spool}

View File

@ -45,6 +45,16 @@
<screen><userinput remap="pre">patch -Np1 -i ../gcc-6.1.0-asan-1.patch</userinput></screen> <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> <para>The GCC documentation recommends building GCC in a dedicated build directory:</para>
<screen><userinput remap="pre">mkdir -v build <screen><userinput remap="pre">mkdir -v build
@ -175,10 +185,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
<para>Depending on your machine architecture, the above may differ slightly, <para>Depending on your machine architecture, the above may differ slightly,
the difference usually being the name of the directory the difference usually being the name of the directory
after <filename class="directory">/usr/lib/gcc</filename>. If your machine is after <filename class="directory">/usr/lib/gcc</filename>. The important
a 64-bit system, you may also see a directory named <filename class="directory">lib64</filename> thing to look for here is that <command>gcc</command> has found all three
towards the end of the string. The important thing to
look for here is that <command>gcc</command> has found all three
<filename>crt*.o</filename> files under the <filename>crt*.o</filename> files under the
<filename class="directory">/usr/lib</filename> directory.</para> <filename class="directory">/usr/lib</filename> directory.</para>

View File

@ -57,6 +57,18 @@
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> <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 <para>The Glibc documentation recommends building Glibc
in a dedicated build directory:</para> in a dedicated build directory:</para>
@ -67,7 +79,8 @@ cd build</userinput></screen>
<screen><userinput remap="configure">../configure --prefix=/usr \ <screen><userinput remap="configure">../configure --prefix=/usr \
--enable-kernel=&min-kernel; \ --enable-kernel=&min-kernel; \
--enable-obsolete-rpc</userinput></screen> --enable-obsolete-rpc \
libc_cv_slibdir=/lib</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>

View File

@ -55,7 +55,7 @@
<para>Install the package:</para> <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> chmod -v 755 /usr/lib/libcap.so</userinput></screen>
<variablelist> <variablelist>
@ -70,6 +70,16 @@ chmod -v 755 /usr/lib/libcap.so</userinput></screen>
</listitem> </listitem>
</varlistentry> </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> </variablelist>
<para>The shared library needs to be moved to <para>The shared library needs to be moved to

View File

@ -1,13 +1,13 @@
<!ENTITY version "SVN-20161210"> <!ENTITY version "SVN-20161217">
<!ENTITY short-version "svn"> <!-- Used below in &blfs-book; <!ENTITY short-version "svn"> <!-- Used below in &blfs-book;
Change to x.y for release but not -rc releases --> Change to x.y for release but not -rc releases -->
<!ENTITY generic-version "development"> <!-- Use "development" or "x.y[-pre{x}]" --> <!ENTITY generic-version "development"> <!-- Use "development" or "x.y[-pre{x}]" -->
<!ENTITY versiond "20161203-systemd"> <!ENTITY versiond "20161217-systemd">
<!ENTITY short-versiond "systemd"> <!ENTITY short-versiond "systemd">
<!ENTITY generic-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 copyrightdate "1999-2016"><!-- jhalfs needs a literal dash, not &ndash; -->
<!ENTITY milestone "7.11"> <!ENTITY milestone "7.11">