mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Mostly text updates in Chapter 8.
There are a couple of minor command changes. git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11924 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
ea7ec72fba
commit
6a156bab1b
@ -157,7 +157,7 @@ cd build</userinput></screen>
|
|||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<warning><para>If <envar>LFS</envar> is not proprly set, and despite the
|
<warning><para>If <envar>LFS</envar> is not properly set, and despite the
|
||||||
recommendations, you are building as root, the next command will install
|
recommendations, you are building as root, the next command will install
|
||||||
the newly built glibc to your host system, which most likely will render it
|
the newly built glibc to your host system, which most likely will render it
|
||||||
unusable. So double check that the environment is correctly set for user
|
unusable. So double check that the environment is correctly set for user
|
||||||
|
@ -13,8 +13,8 @@
|
|||||||
<para>Most programs and libraries are, by default, compiled with
|
<para>Most programs and libraries are, by default, compiled with
|
||||||
debugging symbols included (with <command>gcc</command>'s
|
debugging symbols included (with <command>gcc</command>'s
|
||||||
<parameter>-g</parameter> option). This means that when debugging a
|
<parameter>-g</parameter> option). This means that when debugging a
|
||||||
program or library that was compiled with debugging information
|
program or library that was compiled with debugging information,
|
||||||
included, the debugger can provide not only memory addresses, but also
|
the debugger can provide not only memory addresses, but also
|
||||||
the names of the routines and variables.</para>
|
the names of the routines and variables.</para>
|
||||||
|
|
||||||
<para>However, the inclusion of these debugging symbols enlarges a
|
<para>However, the inclusion of these debugging symbols enlarges a
|
||||||
|
@ -50,7 +50,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
|
|||||||
|
|
||||||
<para os="b">There should be no errors,
|
<para os="b">There should be no errors,
|
||||||
and the output of the last command will be (allowing for
|
and the output of the last command will be (allowing for
|
||||||
platform-specific differences in dynamic linker name):</para>
|
platform-specific differences in the dynamic linker name):</para>
|
||||||
|
|
||||||
<screen os="c"><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
|
<screen os="c"><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
|
||||||
|
|
||||||
@ -104,7 +104,7 @@ SEARCH_DIR("/lib")</computeroutput></screen>
|
|||||||
|
|
||||||
<screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
|
<screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
|
||||||
|
|
||||||
<para os="p">Lastly, make sure GCC is using the correct dynamic linker:</para>
|
<para os="p">Make sure GCC is using the correct dynamic linker:</para>
|
||||||
|
|
||||||
<screen os="q"><userinput>grep found dummy.log</userinput></screen>
|
<screen os="q"><userinput>grep found dummy.log</userinput></screen>
|
||||||
|
|
||||||
@ -115,8 +115,8 @@ SEARCH_DIR("/lib")</computeroutput></screen>
|
|||||||
|
|
||||||
<para os="t">If the output does not appear as shown above or is not received
|
<para os="t">If the output does not appear as shown above or is not received
|
||||||
at all, then something is seriously wrong. Investigate and retrace the
|
at all, then something is seriously wrong. Investigate and retrace the
|
||||||
steps to find out where the problem is and correct it. The most likely
|
steps to find out where the problem is and correct it. <!--The most likely
|
||||||
reason is that something went wrong with the specs file adjustment. Any
|
reason is that something went wrong with the specs file adjustment.--> Any
|
||||||
issues will need to be resolved before continuing with the process.</para>
|
issues will need to be resolved before continuing with the process.</para>
|
||||||
|
|
||||||
<para os="u">Once everything is working correctly, clean up the test files:</para>
|
<para os="u">Once everything is working correctly, clean up the test files:</para>
|
||||||
|
@ -43,15 +43,13 @@
|
|||||||
|
|
||||||
<para>Prepare Attr for compilation:</para>
|
<para>Prepare Attr for compilation:</para>
|
||||||
|
|
||||||
<screen revision="sysv"><userinput remap="configure">
|
<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \
|
||||||
./configure --prefix=/usr \
|
|
||||||
--bindir=/bin \
|
--bindir=/bin \
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
||||||
|
|
||||||
<screen revision="systemd"><userinput remap="configure">
|
<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \
|
||||||
./configure --prefix=/usr \
|
|
||||||
--disable-static \
|
--disable-static \
|
||||||
--sysconfdir=/etc \
|
--sysconfdir=/etc \
|
||||||
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
--docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<para>First, fix a bug generated by Perl 5.28.</para>
|
<para>First, fix a bug generated by Perl 5.28.</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed '361 s/{/\\{/' -i bin/autoscan.in</userinput></screen>
|
<screen><userinput remap="pre">sed -i '361 s/{/\\{/' bin/autoscan.in</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare Autoconf for compilation:</para>
|
<para>Prepare Autoconf for compilation:</para>
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<para>Fix a failing test:</para>
|
<para>Fix a failing test:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
|
<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare Automake for compilation:</para>
|
<para>Prepare Automake for compilation:</para>
|
||||||
|
|
||||||
|
@ -83,14 +83,7 @@
|
|||||||
<screen><userinput remap="test">su tester << EOF
|
<screen><userinput remap="test">su tester << EOF
|
||||||
PATH=$PATH make tests < $(tty)
|
PATH=$PATH make tests < $(tty)
|
||||||
EOF</userinput></screen>
|
EOF</userinput></screen>
|
||||||
<!--
|
|
||||||
<para>The <systemitem class="username">tester</systemitem>
|
|
||||||
user does not have enough permissions for all the tests to pass. This shows
|
|
||||||
up in some <quote>diff</quote> output in four test results. Portions of the
|
|
||||||
run-execscript, run-lastpipe, run-read, and run-test programs
|
|
||||||
are known to fail in the LFS chroot environment, but pass if the tests
|
|
||||||
are run in a full system.</para>
|
|
||||||
-->
|
|
||||||
<para>Install the package and move the main executable to
|
<para>Install the package and move the main executable to
|
||||||
<filename class='directory'>/bin</filename>:</para>
|
<filename class='directory'>/bin</filename>:</para>
|
||||||
|
|
||||||
@ -104,7 +97,7 @@ mv -vf /usr/bin/bash /bin</userinput></screen>
|
|||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>The parameters used make the <command>bash</command>
|
<para>The parameters used make the <command>bash</command>
|
||||||
process an interactive login shell and continue to disable hashing so
|
process an interactive login shell and continues to disable hashing so
|
||||||
that new programs are found as they become available.</para>
|
that new programs are found as they become available.</para>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
|
@ -111,9 +111,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
|||||||
<screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen>
|
<screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen>
|
||||||
|
|
||||||
<para>We're going to run the remainder of the tests as the
|
<para>We're going to run the remainder of the tests as the
|
||||||
<systemitem class="username">tester</systemitem> user. Certain tests,
|
<systemitem class="username">tester</systemitem> user. Certain tests
|
||||||
however, require that the user be a member of more than one group. So that
|
require that the user be a member of more than one group. So that
|
||||||
these tests are not skipped we'll add a temporary group and make the
|
these tests are not skipped, add a temporary group and make the
|
||||||
user <systemitem class="username">tester</systemitem> a part of it:</para>
|
user <systemitem class="username">tester</systemitem> a part of it:</para>
|
||||||
|
|
||||||
<screen><userinput remap="test">echo "dummy:x:102:tester" >> /etc/group</userinput></screen>
|
<screen><userinput remap="test">echo "dummy:x:102:tester" >> /etc/group</userinput></screen>
|
||||||
@ -126,12 +126,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
|
|||||||
<para>Now run the tests:</para>
|
<para>Now run the tests:</para>
|
||||||
|
|
||||||
<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
|
<screen><userinput remap="test">su tester -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>
|
<para>Remove the temporary group:</para>
|
||||||
|
|
||||||
@ -147,7 +141,7 @@ mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
|
|||||||
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
|
mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
|
||||||
mv -v /usr/bin/chroot /usr/sbin
|
mv -v /usr/bin/chroot /usr/sbin
|
||||||
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
|
mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
|
||||||
sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
|
sed -i 's/"1"/"8"' /usr/share/man/man8/chroot.8</userinput></screen>
|
||||||
|
|
||||||
<para revision="sysv">Some of the scripts in the LFS-Bootscripts package
|
<para revision="sysv">Some of the scripts in the LFS-Bootscripts package
|
||||||
depend on <command>head</command>, <command>nice</command>,
|
depend on <command>head</command>, <command>nice</command>,
|
||||||
@ -190,6 +184,17 @@ sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
|
|||||||
<?dbfo list-presentation="list"?>
|
<?dbfo list-presentation="list"?>
|
||||||
<?dbhtml list-presentation="table"?>
|
<?dbhtml list-presentation="table"?>
|
||||||
|
|
||||||
|
<varlistentry id="lbracket">
|
||||||
|
<term><command>[</command></term>
|
||||||
|
<listitem>
|
||||||
|
<para>Is an actual command, /usr/bin/[, that is a synonym
|
||||||
|
for the <command>test</command> command.</para>
|
||||||
|
<indexterm zone="ch-system-coreutils lbracket">
|
||||||
|
<primary sortas="b-111">[</primary>
|
||||||
|
</indexterm>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry id="base32">
|
<varlistentry id="base32">
|
||||||
<term><command>base32</command></term>
|
<term><command>base32</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The E2fsprogs package contains the utilities for handling the
|
<para>The e2fsprogs package contains the utilities for handling the
|
||||||
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
<systemitem class="filesystem">ext2</systemitem> file system. It also
|
||||||
supports the <systemitem class="filesystem">ext3</systemitem> and
|
supports the <systemitem class="filesystem">ext3</systemitem> and
|
||||||
<systemitem class="filesystem">ext4</systemitem> journaling
|
<systemitem class="filesystem">ext4</systemitem> journaling
|
||||||
@ -44,13 +44,13 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of E2fsprogs</title>
|
<title>Installation of E2fsprogs</title>
|
||||||
|
|
||||||
<para>The E2fsprogs documentation recommends that the package be built in
|
<para>The e2fsprogs documentation recommends that the package be built in
|
||||||
a subdirectory of the source tree: </para>
|
a subdirectory of the source tree: </para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">mkdir -v build
|
<screen><userinput remap="pre">mkdir -v build
|
||||||
cd build</userinput></screen>
|
cd build</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare E2fsprogs for compilation:</para>
|
<para>Prepare e2fsprogs for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">../configure --prefix=/usr \
|
<screen><userinput remap="configure">../configure --prefix=/usr \
|
||||||
--bindir=/bin \
|
--bindir=/bin \
|
||||||
@ -62,7 +62,7 @@ cd build</userinput></screen>
|
|||||||
--disable-fsck</userinput></screen>
|
--disable-fsck</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the environment variable and configure options:</title>
|
<title>The meaning of the configure options:</title>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--with-root-prefix=""</parameter> and
|
<term><parameter>--with-root-prefix=""</parameter> and
|
||||||
@ -74,7 +74,7 @@ cd build</userinput></screen>
|
|||||||
programs still need to be available. They belong in directories
|
programs still need to be available. They belong in directories
|
||||||
like <filename class="directory">/lib</filename> and <filename
|
like <filename class="directory">/lib</filename> and <filename
|
||||||
class="directory">/sbin</filename>. If this option is not passed
|
class="directory">/sbin</filename>. If this option is not passed
|
||||||
to E2fsprogs' configure, the programs are installed into the
|
to configure, the programs are installed into the
|
||||||
<filename class="directory">/usr</filename> directory.</para>
|
<filename class="directory">/usr</filename> directory.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -90,11 +90,11 @@ cd build</userinput></screen>
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-*</parameter></term>
|
<term><parameter>--disable-*</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This prevents E2fsprogs from building and installing the
|
<para>This prevents e2fsprogs from building and installing the
|
||||||
<systemitem class="library">libuuid</systemitem> and
|
<systemitem class="library">libuuid</systemitem> and
|
||||||
<systemitem class="library">libblkid</systemitem> libraries, the
|
<systemitem class="library">libblkid</systemitem> libraries, the
|
||||||
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
<systemitem class="daemon">uuidd</systemitem> daemon, and the
|
||||||
<command>fsck</command> wrapper, as Util-Linux installs more
|
<command>fsck</command> wrapper, as util-linux installs more
|
||||||
recent versions.</para>
|
recent versions.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -109,7 +109,7 @@ cd build</userinput></screen>
|
|||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
<screen><userinput remap="test">make check</userinput></screen>
|
||||||
|
|
||||||
<para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory.
|
<para>One of the e2fsprogs tests will attempt to allocate 256 MB of memory.
|
||||||
If you do not have significantly more RAM than this, be sure to enable
|
If you do not have significantly more RAM than this, be sure to enable
|
||||||
sufficient swap space for the test. See <xref
|
sufficient swap space for the test. See <xref
|
||||||
linkend="ch-partitioning-creatingfilesystem"/> and <xref
|
linkend="ch-partitioning-creatingfilesystem"/> and <xref
|
||||||
|
@ -43,7 +43,7 @@
|
|||||||
|
|
||||||
<para>First fix a problem with the regression tests in the LFS environment:</para>
|
<para>First fix a problem with the regression tests in the LFS environment:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's|usr/bin/env |bin/|' run.sh.in</userinput></screen>
|
<screen><userinput remap="pre">sed -i 's:usr/bin/env :bin/:' run.sh.in</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare Expat for compilation:</para>
|
<para>Prepare Expat for compilation:</para>
|
||||||
|
|
||||||
|
@ -65,9 +65,9 @@ cd build</userinput></screen>
|
|||||||
--disable-bootstrap \
|
--disable-bootstrap \
|
||||||
--with-system-zlib</userinput></screen>
|
--with-system-zlib</userinput></screen>
|
||||||
|
|
||||||
<para>Note that for other languages, there are some prerequisites that
|
<para>Note that for other programming languages there are some prerequisites that
|
||||||
are not yet available. See the
|
are not yet available. See the
|
||||||
<ulink url="&blfs-book;general/gcc.html">BLFS Book</ulink>
|
<ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
|
||||||
for instructions on how to build all of GCC's supported languages.</para>
|
for instructions on how to build all of GCC's supported languages.</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
@ -77,7 +77,7 @@ cd build</userinput></screen>
|
|||||||
<term><parameter>LD=ld</parameter></term>
|
<term><parameter>LD=ld</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This parameter makes the configure script use the ld installed
|
<para>This parameter makes the configure script use the ld installed
|
||||||
by the binutils installed earlier in this chapter, rather than
|
by the binutils built earlier in this chapter, rather than
|
||||||
the cross-built version which would otherwise be used.</para>
|
the cross-built version which would otherwise be used.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
@ -86,7 +86,7 @@ cd build</userinput></screen>
|
|||||||
<term><parameter>--with-system-zlib</parameter></term>
|
<term><parameter>--with-system-zlib</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This switch tells GCC to link to the system installed copy of
|
<para>This switch tells GCC to link to the system installed copy of
|
||||||
the Zlib library, rather than its own internal copy.</para>
|
the zlib library, rather than its own internal copy.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
@ -100,8 +100,8 @@ cd build</userinput></screen>
|
|||||||
critical. Do not skip it under any circumstance.</para>
|
critical. Do not skip it under any circumstance.</para>
|
||||||
</important>
|
</important>
|
||||||
|
|
||||||
<para>One set of tests in the GCC test suite is known to exhaust the stack,
|
<para>One set of tests in the GCC test suite is known to exhaust the default
|
||||||
so increase the stack size prior to running the tests:</para>
|
stack, so increase the stack size prior to running the tests:</para>
|
||||||
|
|
||||||
<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
|
<screen><userinput remap="test">ulimit -s 32768</userinput></screen>
|
||||||
|
|
||||||
@ -175,7 +175,7 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
|||||||
|
|
||||||
<para>Now that our final toolchain is in place, it is important to again ensure
|
<para>Now that our final toolchain is in place, it is important to again ensure
|
||||||
that compiling and linking will work as expected. We do this by performing
|
that compiling and linking will work as expected. We do this by performing
|
||||||
the same sanity checks as we did earlier in the chapter:</para>
|
some sanity checks:</para>
|
||||||
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
href="adjusting.xml"
|
href="adjusting.xml"
|
||||||
@ -205,8 +205,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
|||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
|
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
|
||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
|
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
|
||||||
|
|
||||||
<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 will be the name of the directory
|
||||||
after <filename class="directory">/usr/lib/gcc</filename>. The important
|
after <filename class="directory">/usr/lib/gcc</filename>. The important
|
||||||
thing to look for here is that <command>gcc</command> has found all three
|
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
|
||||||
@ -228,16 +228,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
|
|||||||
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
|
/usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
|
||||||
/usr/include</computeroutput></screen>
|
/usr/include</computeroutput></screen>
|
||||||
|
|
||||||
<para>Again, note that the directory named after your target triplet may be
|
<para>Again, the directory named after your target triplet may be
|
||||||
different than the above, depending on your architecture.</para>
|
different than the above, depending on your system architecture.</para>
|
||||||
|
|
||||||
<!-- This appears to be obsolete
|
|
||||||
|
|
||||||
<note><para>As of version 4.3.0, GCC now unconditionally installs the
|
|
||||||
<filename>limits.h</filename> file into the private
|
|
||||||
<filename class="directory">include-fixed</filename> directory, and that
|
|
||||||
directory is required to be in place.</para></note>
|
|
||||||
-->
|
|
||||||
|
|
||||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
href="adjusting.xml"
|
href="adjusting.xml"
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The GDBM package contains the GNU Database Manager. It is a library
|
<para>The GDBM package contains the GNU Database Manager. It is a library
|
||||||
of database functions that use extensible hashing and work similar to the
|
of database functions that use extensible hashing and works similar to the
|
||||||
standard UNIX dbm. The library provides primitives for storing key/data
|
standard UNIX dbm. The library provides primitives for storing key/data
|
||||||
pairs, searching and retrieving the data by its key and deleting a key
|
pairs, searching and retrieving the data by its key and deleting a key
|
||||||
along with its data. </para>
|
along with its data. </para>
|
||||||
@ -60,8 +60,8 @@
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><envar>--enable-libgdbm-compat</envar></term>
|
<term><envar>--enable-libgdbm-compat</envar></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This switch enables the libgdbm compatibility library to be
|
<para>This switch enables building the libgdbm compatibility library.
|
||||||
built, as some packages outside of LFS may require the older DBM
|
Some packages outside of LFS may require the older DBM
|
||||||
routines it provides.</para>
|
routines it provides.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -43,31 +43,6 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Gettext</title>
|
<title>Installation of Gettext</title>
|
||||||
|
|
||||||
<!-- This has been fixed in upstream gnulib, when a new version of
|
|
||||||
gettext is released, please check #4055 to see if the change has been
|
|
||||||
picked up in this package
|
|
||||||
|
|
||||||
As of April 11, 2018, 'TESTS = test-lock' is in gettext-runtime/tests/Makefile.am
|
|
||||||
Perhaps the test is fixed.
|
|
||||||
|
|
||||||
There is no reference to 'test' or TEST in gettext-tools/gnulib-tests/Makefile.am
|
|
||||||
-->
|
|
||||||
<!--
|
|
||||||
<para>First, suppress two invocations of test-lock which on some machines
|
|
||||||
can loop forever:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in &&
|
|
||||||
sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinput></screen>-->
|
|
||||||
|
|
||||||
<!-- As of April 11, 2018 appdata.* is NOT in git master, but appears
|
|
||||||
to be in metainfo.{its,loc}, When updating, check BLFS gnome-screenshot. -->
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<para>Now fix a configuration file:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \
|
|
||||||
-i gettext-tools/its/appdata.loc</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Prepare Gettext for compilation:</para>
|
<para>Prepare Gettext for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||||
@ -76,8 +51,9 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
|
|||||||
|
|
||||||
<para>Compile the package:</para>
|
<para>Compile the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>
|
<!--<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>-->
|
||||||
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
<!--
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the make parameter:</title>
|
<title>The meaning of the make parameter:</title>
|
||||||
|
|
||||||
@ -92,7 +68,7 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
|
|||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
-->
|
||||||
<para>To test the results (this takes a long time, around 3 SBUs),
|
<para>To test the results (this takes a long time, around 3 SBUs),
|
||||||
issue:</para>
|
issue:</para>
|
||||||
|
|
||||||
|
@ -49,34 +49,7 @@
|
|||||||
store their runtime data in the FHS-compliant locations:</para>
|
store their runtime data in the FHS-compliant locations:</para>
|
||||||
|
|
||||||
<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>Fix a minor security issue with glob functions:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">patch -Np1 -i ../&glibc-glob-patch;</userinput></screen>
|
|
||||||
-->
|
|
||||||
<!-- No longer needed
|
|
||||||
<para>Fix a problem introduced with the linux-5.2 kernel:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i '/asm.socket.h/a# include <linux/sockios.h>' \
|
|
||||||
sysdeps/unix/sysv/linux/bits/socket.h</userinput></screen>
|
|
||||||
=== already done ===
|
|
||||||
<para>Create a symlink for LSB
|
|
||||||
compliance. Additionally, for x86_64, create a compatibility symlink
|
|
||||||
required for the dynamic loader to function correctly:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">case $(uname -m) in
|
|
||||||
i?86) ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
|
|
||||||
;;
|
|
||||||
x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
|
|
||||||
ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
|
|
||||||
;;
|
|
||||||
esac</userinput></screen>
|
|
||||||
|
|
||||||
<para>Remove a file that may be left over from a previous build attempt:
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">rm -f /usr/include/limits.h</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>
|
||||||
|
|
||||||
@ -94,7 +67,7 @@ cd build</userinput></screen>
|
|||||||
<!-- WIP -->
|
<!-- WIP -->
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the options and new configure parameters:</title>
|
<title>The meaning of the options and new configure parameters:</title>
|
||||||
|
<!--
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
|
<term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -106,7 +79,7 @@ cd build</userinput></screen>
|
|||||||
symbols.</para>
|
symbols.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
-->
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-werror</parameter></term>
|
<term><parameter>--disable-werror</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -176,7 +149,7 @@ esac</userinput></screen>
|
|||||||
<para><emphasis>misc/tst-ttyname</emphasis>
|
<para><emphasis>misc/tst-ttyname</emphasis>
|
||||||
is known to fail in the LFS chroot environment.</para>
|
is known to fail in the LFS chroot environment.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
<!--
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis>inet/tst-idna_name_classify</emphasis>
|
<para><emphasis>inet/tst-idna_name_classify</emphasis>
|
||||||
is known to fail in the LFS chroot environment.</para>
|
is known to fail in the LFS chroot environment.</para>
|
||||||
@ -187,7 +160,7 @@ esac</userinput></screen>
|
|||||||
<emphasis>posix/tst-getaddrinfo5</emphasis>
|
<emphasis>posix/tst-getaddrinfo5</emphasis>
|
||||||
may fail on some architectures.</para>
|
may fail on some architectures.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
-->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis>
|
<para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis>
|
||||||
test may fail for reasons that have not been determined.</para>
|
test may fail for reasons that have not been determined.</para>
|
||||||
@ -206,18 +179,7 @@ esac</userinput></screen>
|
|||||||
systems where the CPU is not a relatively new Intel or
|
systems where the CPU is not a relatively new Intel or
|
||||||
AMD processor.</para>
|
AMD processor.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<!--
|
|
||||||
<listitem>
|
|
||||||
<para>The
|
|
||||||
<emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
|
|
||||||
tests may fail for reasons that have not been determined. </para>
|
|
||||||
</listitem>
|
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para>Other tests known to fail on some architectures are
|
|
||||||
malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
|
|
||||||
</listitem>
|
|
||||||
-->
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Though it is a harmless message, the install stage of Glibc will
|
<para>Though it is a harmless message, the install stage of Glibc will
|
||||||
@ -382,7 +344,7 @@ unset ZONEINFO</userinput></screen>
|
|||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>zic -L /dev/null ...</parameter></term>
|
<term><parameter>zic -L /dev/null ...</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This creates posix time zones, without any leap seconds. It is
|
<para>This creates posix time zones without any leap seconds. It is
|
||||||
conventional to put these in both
|
conventional to put these in both
|
||||||
<filename class="directory">zoneinfo</filename> and
|
<filename class="directory">zoneinfo</filename> and
|
||||||
<filename class="directory">zoneinfo/posix</filename>. It is
|
<filename class="directory">zoneinfo/posix</filename>. It is
|
||||||
@ -390,7 +352,7 @@ unset ZONEINFO</userinput></screen>
|
|||||||
<filename class="directory">zoneinfo</filename>, otherwise various
|
<filename class="directory">zoneinfo</filename>, otherwise various
|
||||||
test-suites will report errors. On an embedded system, where space is
|
test-suites will report errors. On an embedded system, where space is
|
||||||
tight and you do not intend to ever update the time zones, you could save
|
tight and you do not intend to ever update the time zones, you could save
|
||||||
1.9MB by not using the <filename class="directory">posix</filename>
|
1.9 MB by not using the <filename class="directory">posix</filename>
|
||||||
directory, but some applications or test-suites might produce some
|
directory, but some applications or test-suites might produce some
|
||||||
failures.</para>
|
failures.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@ -53,9 +53,6 @@
|
|||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
<screen><userinput remap="test">make check</userinput></screen>
|
||||||
|
|
||||||
<para>Two tests are known to fail in the LFS environment:
|
|
||||||
help-version and zmore.</para>
|
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">make install</userinput></screen>
|
<screen><userinput remap="install">make install</userinput></screen>
|
||||||
|
@ -45,6 +45,10 @@
|
|||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen>
|
<screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen>
|
||||||
|
|
||||||
|
<note><para>The above regular expression looks unusual because of all the
|
||||||
|
baxkslashes. What it does is add a backslash before the right brace
|
||||||
|
character in the sequence '\${' resulting in '\$\{'.</para></note>
|
||||||
|
|
||||||
<para>Prepare Intltool for compilation:</para>
|
<para>Prepare Intltool for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||||
|
@ -10,9 +10,8 @@
|
|||||||
|
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
|
|
||||||
<para>In this chapter, we enter the building site and start constructing the
|
<para>In this chapter, we start constructing the LFS system in earnest.
|
||||||
LFS system in earnest. That is, we chroot into the temporary mini Linux system,
|
</para>
|
||||||
make a few final preparations, and then begin installing the packages.</para>
|
|
||||||
|
|
||||||
<para>The installation of this software is straightforward. Although in many
|
<para>The installation of this software is straightforward. Although in many
|
||||||
cases the installation instructions could be made shorter and more generic,
|
cases the installation instructions could be made shorter and more generic,
|
||||||
@ -41,25 +40,26 @@
|
|||||||
contains, approximately how long it will take to build, and how much disk
|
contains, approximately how long it will take to build, and how much disk
|
||||||
space is required during this building process. Following the installation
|
space is required during this building process. Following the installation
|
||||||
instructions, there is a list of programs and libraries (along with brief
|
instructions, there is a list of programs and libraries (along with brief
|
||||||
descriptions of these) that the package installs.</para>
|
descriptions) that the package installs.</para>
|
||||||
|
|
||||||
<note><para>The SBU values and required disk space includes
|
<note><para>The SBU values and required disk space includes test suite data
|
||||||
test suite data for all applicable packages in
|
for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
|
||||||
<xref linkend="chapter-building-system"/>.</para></note>
|
values have been calculated using a single CPU core (-j1) for all
|
||||||
|
operations.</para></note>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>About libraries</title>
|
<title>About libraries</title>
|
||||||
|
|
||||||
<para>In general, the LFS editors discourage building and installing static
|
<para>In general, the LFS editors discourage building and installing static
|
||||||
libraries. The original purpose for most static libraries has been made
|
libraries. The original purpose for most static libraries has been made
|
||||||
obsolete in a modern Linux system. In addition linking a static library
|
obsolete in a modern Linux system. In addition, linking a static library
|
||||||
into a program can be detrimental. If an update to the library is needed
|
into a program can be detrimental. If an update to the library is needed
|
||||||
to remove a security problem, all programs that use the static library will
|
to remove a security problem, all programs that use the static library will
|
||||||
need to be relinked to the new library. Since the use of static libraries
|
need to be relinked to the new library. Since the use of static libraries
|
||||||
is not always obvious, the relevant programs (and the procedures needed to
|
is not always obvious, the relevant programs (and the procedures needed to
|
||||||
do the linking) may not even be known.</para>
|
do the linking) may not even be known.</para>
|
||||||
|
|
||||||
<para>In the procedures in Chapter 6, we remove or disable installation of
|
<para>In the procedures in this chapter, we remove or disable installation of
|
||||||
most static libraries. Usually this is done by passing a
|
most static libraries. Usually this is done by passing a
|
||||||
<option>--disable-static</option> option to <command>configure</command>.
|
<option>--disable-static</option> option to <command>configure</command>.
|
||||||
In other cases, alternate means are needed. In a few cases, especially
|
In other cases, alternate means are needed. In a few cases, especially
|
||||||
|
@ -47,14 +47,14 @@
|
|||||||
be installed. Prevent this by running the commands below.
|
be installed. Prevent this by running the commands below.
|
||||||
If the <command>arpd</command> binary is needed,
|
If the <command>arpd</command> binary is needed,
|
||||||
instructions for compiling Berkeley DB can be found in the BLFS Book at
|
instructions for compiling Berkeley DB can be found in the BLFS Book at
|
||||||
<ulink url="&blfs-book;server/databases.html#db"/>.
|
<ulink url="&blfs-book;server/db.html"/>.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i /ARPD/d Makefile
|
<screen><userinput remap="pre">sed -i /ARPD/d Makefile
|
||||||
rm -fv man/man8/arpd.8</userinput></screen>
|
rm -fv man/man8/arpd.8</userinput></screen>
|
||||||
|
|
||||||
<para>It is also necessary to disable building two modules that
|
<para>It is also necessary to disable building two modules that
|
||||||
requires <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
|
require <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen>
|
<screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen>
|
||||||
|
|
||||||
|
@ -41,21 +41,21 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Kbd</title>
|
<title>Installation of Kbd</title>
|
||||||
|
|
||||||
<para>The behaviour of the Backspace and Delete keys is not consistent
|
<para>The behaviour of the backspace and delete keys is not consistent
|
||||||
across the keymaps in the Kbd package. The following patch fixes this
|
across the keymaps in the Kbd package. The following patch fixes this
|
||||||
issue for i386 keymaps:</para>
|
issue for i386 keymaps:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
|
<screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
|
||||||
|
|
||||||
<para>After patching, the Backspace key generates the character with code 127,
|
<para>After patching, the backspace key generates the character with code 127,
|
||||||
and the Delete key generates a well-known escape sequence.</para>
|
and the delete key generates a well-known escape sequence.</para>
|
||||||
|
|
||||||
<para>Remove the redundant <command>resizecons</command> program (it requires
|
<para>Remove the redundant <command>resizecons</command> program (it requires
|
||||||
the defunct svgalib to provide the video mode files - for normal use
|
the defunct svgalib to provide the video mode files - for normal use
|
||||||
<command>setfont</command> sizes the console appropriately) together with its
|
<command>setfont</command> sizes the console appropriately) together with its
|
||||||
manpage.</para>
|
manpage.</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
|
<screen><userinput remap="pre">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
|
||||||
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
||||||
|
|
||||||
<para>Prepare Kbd for compilation:</para>
|
<para>Prepare Kbd for compilation:</para>
|
||||||
@ -63,12 +63,12 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
|||||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the configure options:</title>
|
<title>The meaning of the configure option:</title>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-vlock</parameter></term>
|
<term><parameter>--disable-vlock</parameter></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>This option prevents the vlock utility from being built, as it
|
<para>This option prevents the vlock utility from being built because it
|
||||||
requires the PAM library, which isn't available in the chroot
|
requires the PAM library, which isn't available in the chroot
|
||||||
environment.</para>
|
environment.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
@ -97,7 +97,7 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
|
|||||||
|
|
||||||
<para>If desired, install the documentation:</para>
|
<para>If desired, install the documentation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version;
|
<screen><userinput remap="install">mkdir -v /usr/share/doc/kbd-&kbd-version;
|
||||||
cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>
|
cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -78,12 +78,7 @@
|
|||||||
LFS chroot environment. At a minimum the git program is required and
|
LFS chroot environment. At a minimum the git program is required and
|
||||||
several tests will not run outside of a git repository. </para>
|
several tests will not run outside of a git repository. </para>
|
||||||
|
|
||||||
<!--
|
<para>Install the package and create symlinks for
|
||||||
<para>To test the results, issue:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Install the package, and create symlinks for
|
|
||||||
compatibility with Module-Init-Tools (the package that previously handled
|
compatibility with Module-Init-Tools (the package that previously handled
|
||||||
Linux kernel modules):</para>
|
Linux kernel modules):</para>
|
||||||
|
|
||||||
|
@ -49,18 +49,7 @@
|
|||||||
If this is not done, all applications that link to libffi will trigger
|
If this is not done, all applications that link to libffi will trigger
|
||||||
Illegal Operation Errors.</para>
|
Illegal Operation Errors.</para>
|
||||||
</note>
|
</note>
|
||||||
<!--
|
|
||||||
<para>Modify the Makefile to install headers into the standard
|
|
||||||
<filename class="directory">/usr/include</filename> directory instead of
|
|
||||||
<filename class="directory">/usr/lib/libffi-&libffi-version;/include</filename>.</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
|
|
||||||
-i include/Makefile.in
|
|
||||||
|
|
||||||
sed -e '/^includedir/ s/=.*$/=@includedir@/' \
|
|
||||||
-e 's/^Cflags: -I${includedir}/Cflags:/' \
|
|
||||||
-i libffi.pc.in</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Prepare libffi for compilation:</para>
|
<para>Prepare libffi for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen>
|
||||||
@ -92,8 +81,6 @@ sed -e '/^includedir/ s/=.*$/=@includedir@/' \
|
|||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
<screen><userinput remap="test">make check</userinput></screen>
|
||||||
|
|
||||||
<para>Six tests, all related to test-callback.c, are known to fail.</para>
|
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">make install</userinput></screen>
|
<screen><userinput remap="install">make install</userinput></screen>
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of M4</title>
|
<title>Installation of M4</title>
|
||||||
|
|
||||||
<para>First, make some fixes required by glibc-2.28:</para>
|
<para>First, make some fixes required by glibc-2.28 and later:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
<screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
|
||||||
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
|
echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
|
||||||
@ -84,13 +84,13 @@ echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
|
|||||||
<term><command>m4 </command></term>
|
<term><command>m4 </command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Copies the given files while expanding the macros that they
|
<para>Copies the given files while expanding the macros that they
|
||||||
contain [These macros are either built-in or user-defined and can
|
contain. These macros are either built-in or user-defined and can
|
||||||
take any number of arguments. Besides performing macro expansion,
|
take any number of arguments. Besides performing macro expansion,
|
||||||
<command>m4</command> has built-in functions for including named
|
<command>m4</command> has built-in functions for including named
|
||||||
files, running Unix commands, performing integer arithmetic,
|
files, running Unix commands, performing integer arithmetic,
|
||||||
manipulating text, recursion, etc. The <command>m4</command> program
|
manipulating text, recursion, etc. The <command>m4</command> program
|
||||||
can be used either as a front-end to a compiler or as a macro processor
|
can be used either as a front-end to a compiler or as a macro processor
|
||||||
in its own right.]</para>
|
in its own right.</para>
|
||||||
<indexterm zone="ch-system-m4 m4">
|
<indexterm zone="ch-system-m4 m4">
|
||||||
<primary sortas="b-m4">m4</primary>
|
<primary sortas="b-m4">m4</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -53,9 +53,7 @@
|
|||||||
|
|
||||||
<screen><userinput remap="make">make</userinput></screen>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<para>The test suite needs to know where supporting perl files are located.
|
<para>To test the results, issue:</para>
|
||||||
We use an environment variable to accomplish this. To test the
|
|
||||||
results, issue:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
<screen><userinput remap="test">make check</userinput></screen>
|
||||||
|
|
||||||
|
@ -126,21 +126,10 @@
|
|||||||
|
|
||||||
<screen><userinput remap="test">make check</userinput></screen>
|
<screen><userinput remap="test">make check</userinput></screen>
|
||||||
|
|
||||||
<para>One test, man-missing-locales, is known to fail in the LFS chroot envirnment.</para>
|
|
||||||
|
|
||||||
<para>Install the package:</para>
|
<para>Install the package:</para>
|
||||||
|
|
||||||
<screen><userinput remap="install">make install</userinput></screen>
|
<screen><userinput remap="install">make install</userinput></screen>
|
||||||
<!--
|
|
||||||
<para revision="sysv">Remove an unwanted directory used for service files
|
|
||||||
which would cause some BLFS packages to also install files there: </para>
|
|
||||||
|
|
||||||
<screen revision="sysv"><userinput remap="install">rm -rfv /lib/systemd</userinput></screen>
|
|
||||||
|
|
||||||
<para revision="systemd">Remove a reference to a non-existent user:</para>
|
|
||||||
|
|
||||||
<screen revision="systemd"><userinput remap="install">sed -i "s:man man:root root:g" /usr/lib/tmpfiles.d/man-db.conf</userinput></screen>
|
|
||||||
-->
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>Meson is an open source build system meant to be both extremely fast,
|
<para>Meson is an open source build system meant to be both extremely fast
|
||||||
and, even more importantly, as user friendly as possible.</para>
|
and as user friendly as possible.</para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
<segtitle>&buildtime;</segtitle>
|
<segtitle>&buildtime;</segtitle>
|
||||||
@ -39,11 +39,7 @@
|
|||||||
|
|
||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of Meson</title>
|
<title>Installation of Meson</title>
|
||||||
<!--
|
|
||||||
<para>Apply a fix from upstream to fix a regression:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i "s@isfile(a)@& and not a.startswith('/dev')@" mesonbuild/interpreter.py</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Compile Meson with the following command:</para>
|
<para>Compile Meson with the following command:</para>
|
||||||
|
|
||||||
<screen><userinput remap="make">python3 setup.py build</userinput></screen>
|
<screen><userinput remap="make">python3 setup.py build</userinput></screen>
|
||||||
@ -64,8 +60,8 @@ cp -rv dest/* /</userinput></screen>
|
|||||||
<para>By default <command>python3 setup.py install</command>
|
<para>By default <command>python3 setup.py install</command>
|
||||||
installs various files (such as man pages) into Python Eggs.
|
installs various files (such as man pages) into Python Eggs.
|
||||||
With a specified root location, <command>setup.py</command> installs
|
With a specified root location, <command>setup.py</command> installs
|
||||||
these files into a standard hierarchy. Then we can just copy
|
these files into a standard hierarchy. Then the hierarchy
|
||||||
the hierarchy so the files will be in the standard location.
|
can just be copied to the standard location.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<para>The OpenSSL package contains management tools and libraries relating
|
<para>The OpenSSL package contains management tools and libraries relating
|
||||||
to cryptography. These are useful for providing cryptographic functions
|
to cryptography. These are useful for providing cryptographic functions
|
||||||
to other packages, such as OpenSSH, email applications and web browsers
|
to other packages, such as OpenSSH, email applications, and web browsers
|
||||||
(for accessing HTTPS sites). </para>
|
(for accessing HTTPS sites). </para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
@ -42,12 +42,7 @@
|
|||||||
|
|
||||||
<sect2 role="installation">
|
<sect2 role="installation">
|
||||||
<title>Installation of OpenSSL</title>
|
<title>Installation of OpenSSL</title>
|
||||||
<!--
|
|
||||||
<para>First, fix a problem identified upstream:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n memset(\&data, 0, sizeof(data));/' \
|
|
||||||
crypto/rand/rand_lib.c</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Prepare OpenSSL for compilation:</para>
|
<para>Prepare OpenSSL for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">./config --prefix=/usr \
|
<screen><userinput remap="configure">./config --prefix=/usr \
|
||||||
|
@ -79,10 +79,10 @@
|
|||||||
<varlistentry id="patch">
|
<varlistentry id="patch">
|
||||||
<term><command>patch</command></term>
|
<term><command>patch</command></term>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Modifies files according to a patch file [A patch file is
|
<para>Modifies files according to a patch file (A patch file is
|
||||||
normally a difference listing created with the <command>diff</command>
|
normally a difference listing created with the <command>diff</command>
|
||||||
program. By applying these differences to the original files,
|
program. By applying these differences to the original files,
|
||||||
<command>patch</command> creates the patched versions.]</para>
|
<command>patch</command> creates the patched versions.)</para>
|
||||||
<indexterm zone="ch-system-patch patch">
|
<indexterm zone="ch-system-patch patch">
|
||||||
<primary sortas="b-patch">patch</primary>
|
<primary sortas="b-patch">patch</primary>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
|
@ -23,9 +23,9 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para> The pkg-config package contains a tool for passing the include path
|
<para>The pkg-config package contains a tool for passing the include path
|
||||||
and/or library paths to build tools during the configure and make file
|
and/or library paths to build tools during the configure and make phases
|
||||||
execution.</para>
|
of package installations.</para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
<segtitle>&buildtime;</segtitle>
|
<segtitle>&buildtime;</segtitle>
|
||||||
|
@ -45,36 +45,33 @@
|
|||||||
<title>Upgrade Issues</title>
|
<title>Upgrade Issues</title>
|
||||||
|
|
||||||
<para>A Package Manager makes it easy to upgrade to newer versions when they
|
<para>A Package Manager makes it easy to upgrade to newer versions when they
|
||||||
are released. Generally the instructions in the LFS and BLFS Book can be
|
are released. Generally the instructions in the LFS and BLFS books can be
|
||||||
used to upgrade to the newer versions. Here are some points that you should
|
used to upgrade to the newer versions. Here are some points that you should
|
||||||
be aware of when upgrading packages, especially on a running system.</para>
|
be aware of when upgrading packages, especially on a running system.</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>If Glibc needs to be upgraded to a newer version, (e.g. from
|
<para>If Glibc needs to be upgraded to a newer version, (e.g. from
|
||||||
glibc-2.19 to glibc-2.20), it is safer to rebuild LFS. Though you
|
glibc-2.31 to glibc-2.32), it is safer to rebuild LFS. Though you
|
||||||
<emphasis>may</emphasis> be able to rebuild all the packages in their
|
<emphasis>may</emphasis> be able to rebuild all the packages in their
|
||||||
dependency order, we do not recommend it. </para>
|
dependency order, we do not recommend it. </para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem> <para>If a package containing a shared library is updated, and
|
||||||
<para>If a package containing a shared library is updated, and if the
|
if the name of the library changes, then any the packages dynamically
|
||||||
name of the library changes, then all the packages dynamically linked
|
linked to the library need to be recompiled in order to link against the
|
||||||
to the library need to be recompiled to link against the newer library.
|
newer library. (Note that there is no correlation between the package
|
||||||
(Note that there is no correlation between the package version and the
|
version and the name of the library.) For example, consider a package
|
||||||
name of the library.) For example, consider a package foo-1.2.3 that
|
foo-1.2.3 that installs a shared library with name <filename
|
||||||
installs a shared library with name
|
class='libraryfile'>libfoo.so.1</filename>. If you upgrade the package to
|
||||||
<filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade
|
a newer version foo-1.2.4 that installs a shared library with name
|
||||||
the package to a newer version foo-1.2.4 that installs a shared library
|
<filename class='libraryfile'>libfoo.so.2</filename>. In this case, any
|
||||||
with name <filename class='libraryfile'>libfoo.so.2</filename>. In this
|
packages that are dynamically linked to <filename
|
||||||
case, all packages that are dynamically linked to
|
class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link
|
||||||
<filename class='libraryfile'>libfoo.so.1</filename> need to be
|
against <filename class='libraryfile'>libfoo.so.2</filename> in order to
|
||||||
recompiled to link against
|
use the new library version. You should not remove the previous
|
||||||
<filename class='libraryfile'>libfoo.so.2</filename>. Note that you
|
libraries unless all the dependent packages are recompiled.</para>
|
||||||
should not remove the previous libraries until the dependent packages
|
</listitem> </itemizedlist>
|
||||||
are recompiled.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
--with-systemd</userinput></screen>
|
--with-systemd</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the configure options:</title>
|
<title>The meaning of the configure option:</title>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-kill</parameter></term>
|
<term><parameter>--disable-kill</parameter></term>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<para>The Python 3 package contains the Python development environment. It
|
<para>The Python 3 package contains the Python development environment. It
|
||||||
is useful for object-oriented programming, writing scripts, prototyping
|
is useful for object-oriented programming, writing scripts, prototyping
|
||||||
large programs or developing entire applications.</para>
|
large programs, or developing entire applications.</para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
<segtitle>&buildtime;</segtitle>
|
<segtitle>&buildtime;</segtitle>
|
||||||
@ -84,7 +84,7 @@
|
|||||||
<screen><userinput remap="make">make</userinput></screen>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<para>To test the results, issue <command>make test</command>.
|
<para>To test the results, issue <command>make test</command>.
|
||||||
Some tests requiring network connection or additional packages are
|
Some tests requiring a network connection or additional packages are
|
||||||
skipped. The test named test_normalization fails because network
|
skipped. The test named test_normalization fails because network
|
||||||
configuration is not completed yet. For more comprehensive results,
|
configuration is not completed yet. For more comprehensive results,
|
||||||
the test can be rerun when Python 3 is reinstalled in BLFS.</para>
|
the test can be rerun when Python 3 is reinstalled in BLFS.</para>
|
||||||
@ -170,8 +170,8 @@ tar --strip-components=1 \
|
|||||||
<para>
|
<para>
|
||||||
is a <application>Python</application> program that reads
|
is a <application>Python</application> program that reads
|
||||||
<application>Python 2.x</application> source code and applies a
|
<application>Python 2.x</application> source code and applies a
|
||||||
series of fixes to transform it into valid
|
series of fixes to transform it into
|
||||||
<application>Python 3.x</application> code.
|
valid <application>Python 3.x</application> code.
|
||||||
</para>
|
</para>
|
||||||
<indexterm zone="ch-system-Python">
|
<indexterm zone="ch-system-Python">
|
||||||
<primary sortas="b-2to3">2to3</primary>
|
<primary sortas="b-2to3">2to3</primary>
|
||||||
@ -231,20 +231,7 @@ tar --strip-components=1 \
|
|||||||
</indexterm>
|
</indexterm>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
<!--
|
|
||||||
<varlistentry id="pyvenv">
|
|
||||||
<term><command>pyvenv</command></term>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
creates virtual <application>Python</application> environments in
|
|
||||||
one or more target directories.
|
|
||||||
</para>
|
|
||||||
<indexterm zone="ch-system-Python">
|
|
||||||
<primary sortas="b-pyvenv">pyvenv</primary>
|
|
||||||
</indexterm>
|
|
||||||
</listitem>
|
|
||||||
</varlistentry>
|
|
||||||
-->
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -67,13 +67,15 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
|||||||
for user mailboxes that Shadow uses by default to the <filename
|
for user mailboxes that Shadow uses by default to the <filename
|
||||||
class="directory">/var/mail</filename> location used currently:</para>
|
class="directory">/var/mail</filename> location used currently:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
|
<screen><userinput remap="pre">
|
||||||
-e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen>
|
sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
|
||||||
|
-e 's:/var/spool/mail:/var/mail:' \
|
||||||
|
-i etc/login.defs</userinput></screen>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>If you chose to build Shadow with Cracklib support, run the following:</para>
|
<para>If you chose to build Shadow with Cracklib support, run the following:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs</userinput></screen>
|
<screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen>
|
||||||
</note>
|
</note>
|
||||||
|
|
||||||
<para>Make a minor change to make the first group number generated
|
<para>Make a minor change to make the first group number generated
|
||||||
@ -84,7 +86,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
|
|||||||
<para>Prepare Shadow for compilation:</para>
|
<para>Prepare Shadow for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="configure">touch /usr/bin/passwd
|
<screen><userinput remap="configure">touch /usr/bin/passwd
|
||||||
./configure --sysconfdir=/etc \
|
./configure --sysconfdir=/etc \
|
||||||
--with-group-name-max-length=32</userinput></screen>
|
--with-group-name-max-length=32</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The Sysklogd package contains programs for logging system messages,
|
<para>The sysklogd package contains programs for logging system messages,
|
||||||
such as those given by the kernel when unusual things happen.</para>
|
such as those given by the kernel when unusual things happen.</para>
|
||||||
|
|
||||||
<segmentedlist>
|
<segmentedlist>
|
||||||
|
@ -23,8 +23,8 @@
|
|||||||
<sect2 role="package">
|
<sect2 role="package">
|
||||||
<title/>
|
<title/>
|
||||||
|
|
||||||
<para>The Tar package provides the ability to create tar archives, as well
|
<para>The Tar package provides the ability to create tar archives as well
|
||||||
as various other kinds of manipulation. Tar can be used on
|
as perform various other kinds of archive manipulation. Tar can be used on
|
||||||
previously created archives to extract files, to store additional files, or
|
previously created archives to extract files, to store additional files, or
|
||||||
to update or list files which were already stored. </para>
|
to update or list files which were already stored. </para>
|
||||||
|
|
||||||
@ -50,7 +50,7 @@
|
|||||||
--bindir=/bin</userinput></screen>
|
--bindir=/bin</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the configure options:</title>
|
<title>The meaning of the configure option:</title>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>
|
<term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
<title>The meaning of the configure options:</title>
|
<title>The meaning of the configure option:</title>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><parameter>--disable-static</parameter></term>
|
<term><parameter>--disable-static</parameter></term>
|
||||||
@ -101,10 +101,10 @@
|
|||||||
recreated, the following optional commands will accomplish the task:</para>
|
recreated, the following optional commands will accomplish the task:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>pushd /usr/share/info
|
<screen role="nodump"><userinput>pushd /usr/share/info
|
||||||
rm -v dir
|
rm -v dir
|
||||||
for f in *
|
for f in *
|
||||||
do install-info $f dir 2>/dev/null
|
do install-info $f dir 2>/dev/null
|
||||||
done
|
done
|
||||||
popd</userinput></screen>
|
popd</userinput></screen>
|
||||||
|
|
||||||
</sect2>
|
</sect2>
|
||||||
|
@ -90,7 +90,7 @@
|
|||||||
|
|
||||||
<warning><para>Running the test suite as the root user can be harmful to
|
<warning><para>Running the test suite as the root user can be harmful to
|
||||||
your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must
|
your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must
|
||||||
be available in the currently running system, and must be built as a
|
be available in the currently running system and must be built as a
|
||||||
module. Building it into the kernel will prevent booting. For complete
|
module. Building it into the kernel will prevent booting. For complete
|
||||||
coverage, other BLFS packages must be installed. If desired, this test can
|
coverage, other BLFS packages must be installed. If desired, this test can
|
||||||
be run after rebooting into the completed LFS system and running:</para>
|
be run after rebooting into the completed LFS system and running:</para>
|
||||||
|
@ -54,11 +54,7 @@
|
|||||||
|
|
||||||
<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h</userinput></screen>
|
<screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h</userinput></screen>
|
||||||
|
|
||||||
<!-- <para>Disable a test that fails:</para>
|
<para>Prepare vim for compilation:</para>
|
||||||
|
|
||||||
<screen><userinput remap="pre">sed -i '/call/{s/split/xsplit/;s/303/492/}' src/testdir/test_recover.vim</userinput></screen>
|
|
||||||
-->
|
|
||||||
<para>Prepare Vim for compilation:</para>
|
|
||||||
|
|
||||||
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
|
||||||
|
|
||||||
@ -66,19 +62,17 @@
|
|||||||
|
|
||||||
<screen><userinput remap="make">make</userinput></screen>
|
<screen><userinput remap="make">make</userinput></screen>
|
||||||
|
|
||||||
<para>To prepare the tests, ensure that the
|
<para>To prepare the tests, ensure that user
|
||||||
<systemitem class="username">tester</systemitem> user can write
|
<systemitem class="username">tester</systemitem> can write
|
||||||
to the sources tree:</para>
|
to the source tree:</para>
|
||||||
|
|
||||||
<screen><userinput remap="test">chown -Rv tester .</userinput></screen>
|
<screen><userinput remap="test">chown -Rv tester .</userinput></screen>
|
||||||
|
|
||||||
<para>Now run the tests as the <systemitem
|
<para>Now run the tests as user <systemitem
|
||||||
class="username">tester</systemitem> user:</para>
|
class="username">tester</systemitem>:</para>
|
||||||
|
|
||||||
<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen>
|
<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen>
|
||||||
|
|
||||||
<!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &> vim-test.log</userinput></screen>-->
|
|
||||||
|
|
||||||
<para>The test suite outputs a lot of binary data to the screen. This can
|
<para>The test suite outputs a lot of binary data to the screen. This can
|
||||||
cause issues with the settings of the current terminal. The problem can be
|
cause issues with the settings of the current terminal. The problem can be
|
||||||
avoided by redirecting the output to a log file as shown above. A
|
avoided by redirecting the output to a log file as shown above. A
|
||||||
@ -100,7 +94,7 @@ for L in /usr/share/man/{,*/}man1/vim.1; do
|
|||||||
ln -sv vim.1 $(dirname $L)/vi.1
|
ln -sv vim.1 $(dirname $L)/vi.1
|
||||||
done</userinput></screen>
|
done</userinput></screen>
|
||||||
|
|
||||||
<para>By default, Vim's documentation is installed in <filename
|
<para>By default, vim's documentation is installed in <filename
|
||||||
class="directory">/usr/share/vim</filename>. The following symlink
|
class="directory">/usr/share/vim</filename>. The following symlink
|
||||||
allows the documentation to be accessed via <filename
|
allows the documentation to be accessed via <filename
|
||||||
class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
|
class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
|
||||||
@ -109,10 +103,10 @@ done</userinput></screen>
|
|||||||
<screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
|
<screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
|
||||||
|
|
||||||
<para>If an X Window System is going to be installed on the LFS
|
<para>If an X Window System is going to be installed on the LFS
|
||||||
system, it may be necessary to recompile Vim after installing X. Vim
|
system, it may be necessary to recompile vim after installing X. Vim
|
||||||
comes with a GUI version of the editor that requires X and some
|
comes with a GUI version of the editor that requires X and some
|
||||||
additional libraries to be installed. For more information on this
|
additional libraries to be installed. For more information on this
|
||||||
process, refer to the Vim documentation and the Vim installation page
|
process, refer to the vim documentation and the vim installation page
|
||||||
in the BLFS book at <ulink
|
in the BLFS book at <ulink
|
||||||
url="&blfs-book;postlfs/vim.html"/>.</para>
|
url="&blfs-book;postlfs/vim.html"/>.</para>
|
||||||
|
|
||||||
@ -157,7 +151,7 @@ EOF</userinput></screen>
|
|||||||
vi-compatible manner. Remove the <quote>no</quote> to keep the old
|
vi-compatible manner. Remove the <quote>no</quote> to keep the old
|
||||||
<command>vi</command> behavior. The <parameter>set backspace=2</parameter>
|
<command>vi</command> behavior. The <parameter>set backspace=2</parameter>
|
||||||
setting allows backspacing over line breaks, autoindents, and the start of
|
setting allows backspacing over line breaks, autoindents, and the start of
|
||||||
insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
|
an insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
|
||||||
highlighting. The <parameter>set mouse=</parameter> setting enables
|
highlighting. The <parameter>set mouse=</parameter> setting enables
|
||||||
proper pasting of text with the mouse when working in chroot or over a
|
proper pasting of text with the mouse when working in chroot or over a
|
||||||
remote connection. Finally, the <emphasis>if</emphasis> statement with the
|
remote connection. Finally, the <emphasis>if</emphasis> statement with the
|
||||||
@ -165,18 +159,14 @@ EOF</userinput></screen>
|
|||||||
<command>vim</command>'s guess about the background color of some terminal
|
<command>vim</command>'s guess about the background color of some terminal
|
||||||
emulators. This gives the highlighting a better color scheme for use on the
|
emulators. This gives the highlighting a better color scheme for use on the
|
||||||
black background of these programs.</para>
|
black background of these programs.</para>
|
||||||
<!--
|
|
||||||
<para>Creating an empty <filename>~/.vimrc</filename> prevents vim from
|
|
||||||
overriding settings in <filename>/etc/vimrc</filename> by using
|
|
||||||
<filename>/usr/share/vim/vim80/defaults.vim</filename>.</para>
|
|
||||||
-->
|
|
||||||
<para>Documentation for other available options can be obtained by
|
<para>Documentation for other available options can be obtained by
|
||||||
running the following command:</para>
|
running the following command:</para>
|
||||||
|
|
||||||
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
|
<screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
|
||||||
|
|
||||||
<note>
|
<note>
|
||||||
<para>By default, Vim only installs spell files for the English language.
|
<para>By default, vim only installs spell files for the English language.
|
||||||
To install spell files for your preferred language, download the
|
To install spell files for your preferred language, download the
|
||||||
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
<filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
|
||||||
files for your language and character encoding from <ulink
|
files for your language and character encoding from <ulink
|
||||||
|
@ -432,6 +432,12 @@ div.materials dd {
|
|||||||
|
|
||||||
.segtitle {
|
.segtitle {
|
||||||
float: left;
|
float: left;
|
||||||
|
padding-left: 1em;
|
||||||
|
width: 14em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content .segtitle {
|
||||||
|
width: 12em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.package .segbody, .appendix .segbody {
|
.package .segbody, .appendix .segbody {
|
||||||
@ -441,9 +447,19 @@ div.materials dd {
|
|||||||
|
|
||||||
.content .segbody {
|
.content .segbody {
|
||||||
display: block;
|
display: block;
|
||||||
padding-left: 12em;
|
padding-left: 13em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.content table tr td:first-child
|
||||||
|
{
|
||||||
|
width: 9em;
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content table tr td:first-child p
|
||||||
|
{
|
||||||
|
padding-right: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
/* itemizedlist */
|
/* itemizedlist */
|
||||||
ul {
|
ul {
|
||||||
|
Loading…
Reference in New Issue
Block a user