mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-03-05 22:04:48 +00:00
Merge nosym branch.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11154 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
9f3c264e7c
commit
be3d9f313a
@ -42,6 +42,17 @@
|
||||
<listitem revision="sysv"> or <listitem revision="systemd"> as
|
||||
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>
|
||||
|
@ -68,8 +68,7 @@ mv -v mpc-&mpc-version; mpc</userinput></screen>
|
||||
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&@g' \
|
||||
@ -97,7 +96,18 @@ done</userinput></screen>
|
||||
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
|
||||
|
@ -70,8 +70,7 @@ esac</userinput></screen>
|
||||
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&@g' \
|
||||
@ -84,6 +83,16 @@ do
|
||||
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>
|
||||
|
@ -24,9 +24,7 @@ mkdir -v /usr/libexec
|
||||
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}
|
||||
|
@ -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 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
||||
|
||||
<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>
|
||||
|
||||
|
@ -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 @@ cd build</userinput></screen>
|
||||
|
||||
<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>
|
||||
|
||||
|
@ -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 @@ chmod -v 755 /usr/lib/libcap.so</userinput></screen>
|
||||
</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
|
||||
|
@ -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 – -->
|
||||
<!ENTITY milestone "7.11">
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user