Changeset b28fd35


Ignore:
Timestamp:
01/22/2006 01:13:52 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
41ddb3b
Parents:
7b82580
Message:

Finished chapter 05 indentation.

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

Location:
chapter05
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • chapter05/sed.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-sed" role="wrap">
    7 <title>Sed-&sed-version;</title>
    8 <?dbhtml filename="sed.html"?>
     9  <?dbhtml filename="sed.html"?>
    910
    10 <indexterm zone="ch-tools-sed">
    11 <primary sortas="a-Sed">Sed</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Sed-&sed-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-sed">
     14    <primary sortas="a-Sed">Sed</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.2 SBU</seg><seg>8.4 MB</seg></seglistitem>
    21 </segmentedlist>
     18  <sect2 role="package">
     19    <title/>
    2220
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/sed.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/sed.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    2424
    25 </sect2>
     25    <segmentedlist>
     26    <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
    2628
    27 <sect2 role="installation">
    28 <title>Installation of Sed</title>
     29      <seglistitem>
     30        <seg>0.2 SBU</seg>
     31        <seg>8.4 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>Prepare Sed for compilation:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/sed.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Sed</title>
     43
     44    <para>Prepare Sed for compilation:</para>
    3145
    3246<screen><userinput>./configure --prefix=/tools</userinput></screen>
    3347
    34 <para>Compile the package:</para>
     48    <para>Compile the package:</para>
    3549
    3650<screen><userinput>make</userinput></screen>
    3751
    38 <para>To test the results, issue: <userinput>make check</userinput>.</para>
     52    <para>To test the results, issue:
     53    <userinput>make check</userinput>.</para>
    3954
    40 <para>Install the package:</para>
     55    <para>Install the package:</para>
    4156
    4257<screen><userinput>make install</userinput></screen>
    4358
    44 </sect2>
     59  </sect2>
    4560
    46 <sect2 role="content"><title/>
    47 <para>Details on this package are located in <xref
    48 linkend="contents-sed" role="."/></para>
    49 </sect2>
     61  <sect2 role="content">
     62    <title/>
     63
     64    <para>Details on this package are located in
     65    <xref linkend="contents-sed" role="."/></para>
     66
     67  </sect2>
    5068
    5169</sect1>
    52 
  • chapter05/stripping.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-stripping">
    7 <title>Stripping</title>
    8 <?dbhtml filename="stripping.html"?>
     9  <?dbhtml filename="stripping.html"?>
    910
    10 <para>The steps in this section are optional, but if the LFS partition
    11 is rather small, it is beneficial to learn that unnecessary items can
    12 be removed. The executables and libraries built so far contain about
    13 130 MB of unneeded debugging symbols. Remove those symbols
    14 with:</para>
     11  <title>Stripping</title>
     12
     13  <para>The steps in this section are optional, but if the LFS partition is
     14  rather small, it is beneficial to learn that unnecessary items can be removed.
     15  The executables and libraries built so far contain about 130 MB of unneeded
     16  debugging symbols. Remove those symbols with:</para>
    1517
    1618<screen><userinput>strip --strip-debug /tools/lib/*
    1719strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
    1820
    19 <para>The last of the above commands will skip some twenty files,
    20 reporting that it does not recognize their file format. Most of these
    21 are scripts instead of binaries.</para>
     21  <para>The last of the above commands will skip some twenty files,
     22  reporting that it does not recognize their file format. Most of these
     23  are scripts instead of binaries.</para>
    2224
    23 <para>Take care <emphasis>not</emphasis> to use
    24 <parameter>--strip-unneeded</parameter> on the libraries. The static
    25 ones would be destroyed and the toolchain packages would need to be
    26 built all over again.</para>
     25  <para>Take care <emphasis>not</emphasis> to use
     26  <parameter>--strip-unneeded</parameter> on the libraries. The static
     27  ones would be destroyed and the toolchain packages would need to be
     28  built all over again.</para>
    2729
    28 <para>To save another 30 MB, remove the documentation:</para>
     30  <para>To save another 30 MB, remove the documentation:</para>
    2931
    3032<screen><userinput>rm -rf /tools/{info,man}</userinput></screen>
    3133
    32 <para>There will now be at least 850 MB of free space on the LFS file
    33 system that can be used to build and install Glibc in the next phase.
    34 If you can build and install Glibc, you can build and install the rest
    35 too.</para>
     34  <para>There will now be at least 850 MB of free space on the LFS file
     35  system that can be used to build and install Glibc in the next phase.
     36  If you can build and install Glibc, you can build and install the rest
     37  too.</para>
    3638
    3739</sect1>
    38 
  • chapter05/tar.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-tar" role="wrap">
    7 <title>Tar-&tar-version;</title>
    8 <?dbhtml filename="tar.html"?>
     9  <?dbhtml filename="tar.html"?>
    910
    10 <indexterm zone="ch-tools-tar">
    11 <primary sortas="a-Tar">Tar</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Tar-&tar-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-tar">
     14    <primary sortas="a-Tar">Tar</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.2 SBU</seg><seg>12.7 MB</seg></seglistitem>
    21 </segmentedlist>
     18  <sect2 role="package">
     19    <title/>
    2220
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/tar.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/tar.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    2424
    25 </sect2>
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
    2628
    27 <sect2 role="installation">
    28 <title>Installation of Tar</title>
     29      <seglistitem>
     30        <seg>0.2 SBU</seg>
     31        <seg>12.7 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>If you wish to run the test suite, apply the following patch to fix
    31 some issues with GCC-&gcc-version;:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/tar.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Tar</title>
     43
     44    <para>If you wish to run the test suite, apply the following patch to fix
     45    some issues with GCC-&gcc-version;:</para>
    3246
    3347<screen><userinput>patch -Np1 -i ../&tar-gcc4_fix-patch;</userinput></screen>
    3448
    35 <para>Prepare Tar for compilation:</para>
     49    <para>Prepare Tar for compilation:</para>
    3650
    3751<screen><userinput>./configure --prefix=/tools</userinput></screen>
    3852
    39 <para>Compile the package:</para>
     53    <para>Compile the package:</para>
    4054
    4155<screen><userinput>make</userinput></screen>
    4256
    43 <para>To test the results, issue: <userinput>make check</userinput>.</para>
     57    <para>To test the results, issue:
     58    <userinput>make check</userinput>.</para>
    4459
    45 <para>Install the package:</para>
     60    <para>Install the package:</para>
    4661
    4762<screen><userinput>make install</userinput></screen>
    4863
    49 </sect2>
     64  </sect2>
    5065
    51 <sect2 role="content"><title/>
    52 <para>Details on this package are located in <xref
    53 linkend="contents-tar" role="."/></para>
    54 </sect2>
     66  <sect2 role="content">
     67    <title/>
     68
     69    <para>Details on this package are located in
     70    <xref linkend="contents-tar" role="."/></para>
     71
     72  </sect2>
    5573
    5674</sect1>
    57 
  • chapter05/tcl.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-tcl" role="wrap">
    7 <title>Tcl-&tcl-version;</title>
    8 <?dbhtml filename="tcl.html"?>
     9  <?dbhtml filename="tcl.html"?>
    910
    10 <indexterm zone="ch-tools-tcl"><primary sortas="a-Tcl">Tcl</primary></indexterm>
     11  <title>Tcl-&tcl-version;</title>
    1112
    12 <sect2 role="package"><title/>
    13 <para>The Tcl package contains the Tool Command Language.</para>
     13  <indexterm zone="ch-tools-tcl">
     14    <primary sortas="a-Tcl">Tcl</primary>
     15  </indexterm>
    1416
    15 <segmentedlist>
    16 <segtitle>&buildtime;</segtitle>
    17 <segtitle>&diskspace;</segtitle>
    18 <seglistitem><seg>0.9 SBU</seg><seg>23.3 MB</seg></seglistitem>
    19 </segmentedlist>
     17  <sect2 role="package">
     18    <title/>
    2019
    21 <segmentedlist>
    22 <segtitle>&dependencies;</segtitle>
    23 <seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
    24 GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
    25 </segmentedlist>
     20    <para>The Tcl package contains the Tool Command Language.</para>
    2621
    27 </sect2>
     22    <segmentedlist>
     23      <segtitle>&buildtime;</segtitle>
     24      <segtitle>&diskspace;</segtitle>
    2825
    29 <sect2 role="installation">
    30 <title>Installation of Tcl</title>
     26      <seglistitem>
     27        <seg>0.9 SBU</seg>
     28        <seg>23.3 MB</seg>
     29      </seglistitem>
     30    </segmentedlist>
    3131
    32 <para>This package and the next two (Expect and DejaGNU) are
    33 installed to support running the test suites for GCC and Binutils.
    34 Installing three packages for testing purposes may seem excessive, but
    35 it is very reassuring, if not essential, to know that the most
    36 important tools are working properly. Even if the test suites are not
    37 run in this chapter (they are not mandatory), these packages
    38 are required to run the test suites in <xref
    39 linkend="chapter-building-system"/>.</para>
     32    <segmentedlist>
     33      <segtitle>&dependencies;</segtitle>
    4034
    41 <para>Tcl's configure script has a syntax error:</para>
     35      <seglistitem>
     36        <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep,
     37        Make, and Sed</seg>
     38      </seglistitem>
     39    </segmentedlist>
     40
     41  </sect2>
     42
     43  <sect2 role="installation">
     44    <title>Installation of Tcl</title>
     45
     46    <para>This package and the next two (Expect and DejaGNU) are installed
     47    to support running the test suites for GCC and Binutils. Installing
     48    three packages for testing purposes may seem excessive, but it is very
     49    reassuring, if not essential, to know that the most important tools are
     50    working properly. Even if the test suites are not run in this chapter
     51    (they are not mandatory), these packages are required to run the test
     52    suites in <xref linkend="chapter-building-system"/>.</para>
     53
     54    <para>Tcl's configure script has a syntax error:</para>
     55
    4256<screen><userinput>cd unix
    4357cp -v configure{,.orig}
    4458sed "s/relid'/relid/" configure.orig &gt; configure</userinput></screen>
    4559
    46 <para>Prepare Tcl for compilation:</para>
     60    <para>Prepare Tcl for compilation:</para>
    4761
    4862<screen><userinput>./configure --prefix=/tools</userinput></screen>
    4963
    50 <para>Build the package:</para>
     64    <para>Build the package:</para>
    5165
    5266<screen><userinput>make</userinput></screen>
    5367
    54 <para>To test the results, issue: <userinput>TZ=UTC make test</userinput>.
    55 The Tcl test suite is known to experience failures
    56 under certain host conditions that are not fully understood.
    57 Therefore, test suite failures here are not surprising, and are not
    58 considered critical. The <parameter>TZ=UTC</parameter> parameter sets
    59 the time zone to Coordinated Universal Time (UTC), also known as
    60 Greenwich Mean Time (GMT), but only for the duration of the test suite
    61 run. This ensures that the clock tests are exercised correctly.
    62 Details on the <envar>TZ</envar> environment variable are provided in
    63 <xref linkend="chapter-bootscripts"/>.</para>
     68    <para>To test the results, issue: <userinput>TZ=UTC make test</userinput>.
     69    The Tcl test suite is known to experience failures under certain host
     70    conditions that are not fully understood. Therefore, test suite failures
     71    here are not surprising, and are not considered critical. The
     72    <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
     73    Universal Time (UTC), also known as Greenwich Mean Time (GMT), but only
     74    for the duration of the test suite run. This ensures that the clock tests
     75    are exercised correctly. Details on the <envar>TZ</envar> environment
     76    variable are provided in <xref linkend="chapter-bootscripts"/>.</para>
    6477
    65 <para>Install the package:</para>
     78    <para>Install the package:</para>
    6679
    6780<screen><userinput>make install</userinput></screen>
    6881
    69 <para>Install Tcl's headers. The next package, Expect, requires them to build.</para>
     82    <para>Install Tcl's headers. The next package, Expect, requires them
     83    to build.</para>
    7084
    7185<screen><userinput>make install-private-headers</userinput></screen>
    7286
    73 <para>Now make a necessary symbolic link:</para>
     87    <para>Now make a necessary symbolic link:</para>
    7488
    7589<screen><userinput>ln -sv tclsh8.4 /tools/bin/tclsh</userinput></screen>
    7690
    77 </sect2>
     91  </sect2>
    7892
    79 <sect2 id="contents-tcl" role="content"><title>Contents of Tcl</title>
     93  <sect2 id="contents-tcl" role="content">
     94    <title>Contents of Tcl</title>
    8095
    81 <segmentedlist>
    82 <segtitle>Installed programs</segtitle>
    83 <segtitle>Installed library</segtitle>
    84 <seglistitem><seg>tclsh (link to tclsh8.4) and tclsh8.4</seg><seg>libtcl8.4.so</seg></seglistitem>
    85 </segmentedlist>
     96    <segmentedlist>
     97      <segtitle>Installed programs</segtitle>
     98      <segtitle>Installed library</segtitle>
    8699
    87 <variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
    88 <?dbfo list-presentation="list"?>
    89 <?dbhtml list-presentation="table"?>
     100      <seglistitem>
     101        <seg>tclsh (link to tclsh8.4) and tclsh8.4</seg>
     102        <seg>libtcl8.4.so</seg>
     103      </seglistitem>
     104    </segmentedlist>
    90105
    91 <varlistentry id="tclsh8.4">
    92 <term><command>tclsh8.4</command></term>
    93 <listitem>
    94 <para>The Tcl command shell</para>
    95 <indexterm zone="ch-tools-tcl tclsh8.4"><primary sortas="b-tclsh8.4">tclsh8.4</primary></indexterm>
    96 </listitem>
    97 </varlistentry>
     106    <variablelist>
     107      <bridgehead renderas="sect3">Short Descriptions</bridgehead>
     108      <?dbfo list-presentation="list"?>
     109      <?dbhtml list-presentation="table"?>
    98110
    99 <varlistentry id="tclsh">
    100 <term><command>tclsh</command></term>
    101 <listitem>
    102 <para>A link to tclsh8.4</para>
    103 <indexterm zone="ch-tools-tcl tclsh"><primary sortas="b-tclsh">tclsh</primary></indexterm>
    104 </listitem>
    105 </varlistentry>
     111      <varlistentry id="tclsh8.4">
     112        <term><command>tclsh8.4</command></term>
     113        <listitem>
     114          <para>The Tcl command shell</para>
     115          <indexterm zone="ch-tools-tcl tclsh8.4">
     116            <primary sortas="b-tclsh8.4">tclsh8.4</primary>
     117          </indexterm>
     118        </listitem>
     119      </varlistentry>
    106120
    107 <varlistentry id="libtcl8.4.so">
    108 <term><filename class="libraryfile">libtcl8.4.so</filename></term>
    109 <listitem>
    110 <para>The Tcl library</para>
    111 <indexterm zone="ch-tools-tcl libtcl8.4.so"><primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary></indexterm>
    112 </listitem>
    113 </varlistentry>
    114 </variablelist>
     121      <varlistentry id="tclsh">
     122        <term><command>tclsh</command></term>
     123        <listitem>
     124          <para>A link to tclsh8.4</para>
     125          <indexterm zone="ch-tools-tcl tclsh">
     126            <primary sortas="b-tclsh">tclsh</primary>
     127          </indexterm>
     128        </listitem>
     129      </varlistentry>
    115130
    116 </sect2>
     131      <varlistentry id="libtcl8.4.so">
     132        <term><filename class="libraryfile">libtcl8.4.so</filename></term>
     133        <listitem>
     134          <para>The Tcl library</para>
     135          <indexterm zone="ch-tools-tcl libtcl8.4.so">
     136            <primary sortas="c-libtcl8.4.so">libtcl8.4.so</primary>
     137          </indexterm>
     138        </listitem>
     139      </varlistentry>
     140
     141    </variablelist>
     142
     143  </sect2>
    117144
    118145</sect1>
    119 
  • chapter05/texinfo.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-texinfo" role="wrap">
    7 <title>Texinfo-&texinfo-version;</title>
    8 <?dbhtml filename="texinfo.html"?>
     9  <?dbhtml filename="texinfo.html"?>
    910
    10 <indexterm zone="ch-tools-texinfo">
    11 <primary sortas="a-Texinfo">Texinfo</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Texinfo-&texinfo-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-texinfo">
     14    <primary sortas="a-Texinfo">Texinfo</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.2 SBU</seg><seg>14.7 MB</seg></seglistitem>
    21 </segmentedlist>
     18  <sect2 role="package">
     19    <title/>
    2220
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/texinfo.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/texinfo.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    2424
    25 </sect2>
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
    2628
    27 <sect2 role="installation">
    28 <title>Installation of Texinfo</title>
     29      <seglistitem>
     30        <seg>0.2 SBU</seg>
     31        <seg>14.7 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>Prepare Texinfo for compilation:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/texinfo.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Texinfo</title>
     43
     44    <para>Prepare Texinfo for compilation:</para>
    3145
    3246<screen><userinput>./configure --prefix=/tools</userinput></screen>
    3347
    34 <para>Compile the package:</para>
     48    <para>Compile the package:</para>
    3549
    3650<screen><userinput>make</userinput></screen>
    3751
    38 <para>To test the results, issue: <userinput>make check</userinput>.</para>
     52    <para>To test the results, issue:
     53    <userinput>make check</userinput>.</para>
    3954
    40 <para>Install the package:</para>
     55    <para>Install the package:</para>
    4156
    4257<screen><userinput>make install</userinput></screen>
    4358
    44 </sect2>
     59  </sect2>
    4560
    46 <sect2 role="content"><title/>
    47 <para>Details on this package are located in <xref
    48 linkend="contents-texinfo" role="."/></para>
    49 </sect2>
     61  <sect2 role="content">
     62    <title/>
     63
     64    <para>Details on this package are located in
     65    <xref linkend="contents-texinfo" role="."/></para>
     66
     67  </sect2>
    5068
    5169</sect1>
    52 
  • chapter05/toolchaintechnotes.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-toolchaintechnotes">
    7 <title>Toolchain Technical Notes</title>
    8 <?dbhtml filename="toolchaintechnotes.html"?>
    9 
    10 <para>This section explains some of the rationale and technical
    11 details behind the overall build method. It is not essential to
    12 immediately understand everything in this section. Most of this
    13 information will be clearer after performing an actual build. This
    14 section can be referred back to at any time during the process.</para>
    15 
    16 <para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to
    17 provide a temporary environment that can be chrooted into and from which can be
    18 produced a clean, trouble-free build of the target LFS system in <xref
    19 linkend="chapter-building-system"/>. Along the way, we separate the new system
    20 from the host system as much as possible, and in doing so, build a
    21 self-contained and self-hosted toolchain. It should be noted that the build
    22 process has been designed to minimize the risks for new readers and provide
    23 maximum educational value at the same time.</para>
    24 
    25 <important>
    26 <para>Before continuing, be aware of the name of the working platform,
    27 often referred to as the target triplet. Many times, the target
    28 triplet will probably be <emphasis>i686-pc-linux-gnu</emphasis>. A
    29 simple way to determine the name of the target triplet is to run the
    30 <command>config.guess</command> script that comes with the source for
    31 many packages. Unpack the Binutils sources and run the script:
    32 <userinput>./config.guess</userinput> and note the output.</para>
    33 
    34 <para>Also be aware of the name of the platform's dynamic linker,
    35 often referred to as the dynamic loader (not to be confused with the
    36 standard linker <command>ld</command> that is part of Binutils). The
    37 dynamic linker provided by Glibc finds and loads the shared libraries
    38 needed by a program, prepares the program to run, and then runs it.
    39 The name of the dynamic linker will usually be
    40 <filename class="libraryfile">ld-linux.so.2</filename>. On platforms that are less
    41 prevalent, the name might be <filename class="libraryfile">ld.so.1</filename>,
    42 and newer 64 bit platforms might be named something else entirely. The name of
    43 the platform's dynamic linker can be determined by looking in the
    44 <filename class="directory">/lib</filename> directory on the host
    45 system. A sure-fire way to determine the name is to inspect a random
    46 binary from the host system by running: <userinput>readelf -l &lt;name
    47 of binary&gt; | grep interpreter</userinput> and noting the output.
    48 The authoritative reference covering all platforms is in the
    49 <filename>shlib-versions</filename> file in the root of the Glibc
    50 source tree.</para>
    51 </important>
    52 
    53 <para>Some key technical points of how the <xref linkend="chapter-temporary-tools"/> build
    54 method works:</para>
    55 
    56 <itemizedlist>
    57 <listitem><para>The process is similar in principle to
    58 cross-compiling, whereby tools installed in the same prefix work in
    59 cooperation, and thus utilize a little GNU
    60 <quote>magic</quote></para></listitem>
    61 
    62 <listitem><para>Careful manipulation of the standard linker's library
    63 search path ensures programs are linked only against chosen
    64 libraries</para></listitem>
    65 
    66 <listitem><para>Careful manipulation of <command>gcc</command>'s
    67 <filename>specs</filename> file tells the compiler which target dynamic
    68 linker will be used</para></listitem>
    69 </itemizedlist>
    70 
    71 <para>Binutils is installed first because the
    72 <command>configure</command> runs of both GCC and Glibc perform
    73 various feature tests on the assembler and linker to determine which
    74 software features to enable or disable. This is more important than
    75 one might first realize. An incorrectly configured GCC or Glibc can
    76 result in a subtly broken toolchain, where the impact of such breakage
    77 might not show up until near the end of the build of an entire
    78 distribution. A test suite failure will usually highlight this error
    79 before too much additional work is performed.</para>
    80 
    81 <para>Binutils installs its assembler and linker in two locations,
    82 <filename class="directory">/tools/bin</filename> and <filename
    83 class="directory">/tools/$TARGET_TRIPLET/bin</filename>. The tools in
    84 one location are hard linked to the other. An important facet of the
    85 linker is its library search order. Detailed information can be
    86 obtained from <command>ld</command> by passing it the
    87 <parameter>--verbose</parameter> flag. For example, an <userinput>ld
    88 --verbose | grep SEARCH</userinput> will illustrate the current search
    89 paths and their order. It shows which files are linked by
    90 <command>ld</command> by compiling a dummy program and passing the
    91 <parameter>--verbose</parameter> switch to the linker. For example,
    92 <userinput>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep
    93 succeeded</userinput> will show all the files successfully opened
    94 during the linking.</para>
    95 
    96 <para>The next package installed is GCC. An example of what can be
    97 seen during its run of <command>configure</command> is:</para>
    98 
    99 <screen><computeroutput>checking what assembler to use...
     9  <?dbhtml filename="toolchaintechnotes.html"?>
     10
     11  <title>Toolchain Technical Notes</title>
     12
     13  <para>This section explains some of the rationale and technical details
     14  behind the overall build method. It is not essential to immediately
     15  understand everything in this section. Most of this information will be
     16  clearer after performing an actual build. This section can be referred
     17  back to at any time during the process.</para>
     18
     19  <para>The overall goal of <xref linkend="chapter-temporary-tools"/> is to
     20  provide a temporary environment that can be chrooted into and from which can be
     21  produced a clean, trouble-free build of the target LFS system in <xref
     22  linkend="chapter-building-system"/>. Along the way, we separate the new system
     23  from the host system as much as possible, and in doing so, build a
     24  self-contained and self-hosted toolchain. It should be noted that the build
     25  process has been designed to minimize the risks for new readers and provide
     26  maximum educational value at the same time.</para>
     27
     28  <important>
     29    <para>Before continuing, be aware of the name of the working platform,
     30    often referred to as the target triplet. Many times, the target
     31    triplet will probably be <emphasis>i686-pc-linux-gnu</emphasis>. A
     32    simple way to determine the name of the target triplet is to run the
     33    <command>config.guess</command> script that comes with the source for
     34    many packages. Unpack the Binutils sources and run the script:
     35    <userinput>./config.guess</userinput> and note the output.</para>
     36
     37    <para>Also be aware of the name of the platform's dynamic linker, often
     38    referred to as the dynamic loader (not to be confused with the standard
     39    linker <command>ld</command> that is part of Binutils). The dynamic linker
     40    provided by Glibc finds and loads the shared libraries needed by a program,
     41    prepares the program to run, and then runs it. The name of the dynamic
     42    linker will usually be <filename class="libraryfile">ld-linux.so.2</filename>.
     43    On platforms that are less prevalent, the name might be <filename
     44    class="libraryfile">ld.so.1</filename>, and newer 64 bit platforms might
     45    be named something else entirely. The name of the platform's dynamic linker
     46    can be determined by looking in the <filename class="directory">/lib</filename>
     47    directory on the host system. A sure-fire way to determine the name is to
     48    inspect a random binary from the host system by running:
     49    <userinput>readelf -l &lt;name of binary&gt; | grep interpreter</userinput>
     50    and noting the output. The authoritative reference covering all platforms
     51    is in the <filename>shlib-versions</filename> file in the root of the Glibc
     52    source tree.</para>
     53  </important>
     54
     55  <para>Some key technical points of how the <xref
     56  linkend="chapter-temporary-tools"/> build method works:</para>
     57
     58  <itemizedlist>
     59    <listitem>
     60      <para>The process is similar in principle to cross-compiling, whereby
     61      tools installed in the same prefix work in cooperation, and thus utilize
     62      a little GNU <quote>magic</quote></para>
     63    </listitem>
     64    <listitem>
     65      <para>Careful manipulation of the standard linker's library search path
     66      ensures programs are linked only against chosen libraries</para>
     67    </listitem>
     68    <listitem>
     69      <para>Careful manipulation of <command>gcc</command>'s
     70      <filename>specs</filename> file tells the compiler which target dynamic
     71      linker will be used</para>
     72    </listitem>
     73  </itemizedlist>
     74
     75  <para>Binutils is installed first because the <command>configure</command>
     76  runs of both GCC and Glibc perform various feature tests on the assembler
     77  and linker to determine which software features to enable or disable. This
     78  is more important than one might first realize. An incorrectly configured
     79  GCC or Glibc can result in a subtly broken toolchain, where the impact of
     80  such breakage might not show up until near the end of the build of an
     81  entire distribution. A test suite failure will usually highlight this error
     82  before too much additional work is performed.</para>
     83
     84  <para>Binutils installs its assembler and linker in two locations,
     85  <filename class="directory">/tools/bin</filename> and <filename
     86  class="directory">/tools/$TARGET_TRIPLET/bin</filename>. The tools in one
     87  location are hard linked to the other. An important facet of the linker is
     88  its library search order. Detailed information can be obtained from
     89  <command>ld</command> by passing it the <parameter>--verbose</parameter>
     90  flag. For example, an <userinput>ld --verbose | grep SEARCH</userinput>
     91  will illustrate the current search paths and their order. It shows which
     92  files are linked by <command>ld</command> by compiling a dummy program and
     93  passing the <parameter>--verbose</parameter> switch to the linker. For example,
     94  <userinput>gcc dummy.c -Wl,--verbose 2&gt;&amp;1 | grep succeeded</userinput>
     95  will show all the files successfully opened during the linking.</para>
     96
     97  <para>The next package installed is GCC. An example of what can be
     98  seen during its run of <command>configure</command> is:</para>
     99
     100<screen><computeroutput>checking what assembler to use...
    100101        /tools/i686-pc-linux-gnu/bin/as
    101102checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</computeroutput></screen>
    102103
    103 <para>This is important for the reasons mentioned above. It also
    104 demonstrates that GCC's configure script does not search the PATH
    105 directories to find which tools to use. However, during the actual
    106 operation of <command>gcc</command> itself, the same
    107 search paths are not necessarily used. To find out which standard
    108 linker <command>gcc</command> will use, run: <userinput>gcc
    109 -print-prog-name=ld</userinput>.</para>
    110 
    111 <para>Detailed information can be obtained from <command>gcc</command>
    112 by passing it the <parameter>-v</parameter> command line option while
    113 compiling a dummy program. For example, <userinput>gcc -v
    114 dummy.c</userinput> will show detailed information about the
    115 preprocessor, compilation, and assembly stages, including
    116 <command>gcc</command>'s included search paths and their order.</para>
    117 
    118 <para>The next package installed is Glibc. The most important
    119 considerations for building Glibc are the compiler, binary tools, and
    120 kernel headers. The compiler is generally not an issue since Glibc
    121 will always use the <command>gcc</command> found in a
    122 <envar>PATH</envar> directory.
    123 The binary tools and kernel headers can be a bit more complicated.
    124 Therefore, take no risks and use the available configure switches to
    125 enforce the correct selections. After the run of
    126 <command>configure</command>, check the contents of the
    127 <filename>config.make</filename> file in the <filename
    128 class="directory">glibc-build</filename> directory for all important
    129 details. Note the use of <parameter>CC="gcc -B/tools/bin/"</parameter>
    130 to control which binary tools are used and the use of the
    131 <parameter>-nostdinc</parameter> and <parameter>-isystem</parameter>
    132 flags to control the compiler's include search path. These items
    133 highlight an important aspect of the Glibc package&mdash;it is very
    134 self-sufficient in terms of its build machinery and generally does not
    135 rely on toolchain defaults.</para>
    136 
    137 <para>After the Glibc installation, make some adjustments to ensure
    138 that searching and linking take place only within the <filename
    139 class="directory">/tools</filename> prefix.  Install an adjusted
    140 <command>ld</command>, which has a hard-wired search path limited to
    141 <filename class="directory">/tools/lib</filename>. Then amend
    142 <command>gcc</command>'s specs file to point to the new dynamic linker
    143 in <filename class="directory">/tools/lib</filename>. This last step
    144 is vital to the whole process. As mentioned above, a hard-wired path
    145 to a dynamic linker is embedded into every Executable and Link Format
    146 (ELF)-shared executable.  This can be inspected by running:
    147 <userinput>readelf -l &lt;name of binary&gt; | grep
    148 interpreter</userinput>. Amending gcc's specs file
    149 ensures that every program compiled from here through the end of this
    150 chapter will use the new dynamic linker in <filename
    151 class="directory">/tools/lib</filename>.</para>
    152 
    153 <para>The need to use the new dynamic linker is also the reason why
    154 the Specs patch is applied for the second pass of GCC. Failure to do
    155 so will result in the GCC programs themselves having the name of the
    156 dynamic linker from the host system's <filename
    157 class="directory">/lib</filename> directory embedded into them, which
    158 would defeat the goal of getting away from the host.</para>
    159 
    160 <para>During the second pass of Binutils, we are able to utilize the
    161 <parameter>--with-lib-path</parameter> configure switch to control
    162 <command>ld</command>'s library search path.  From this point onwards,
    163 the core toolchain is self-contained and self-hosted. The remainder of
    164 the <xref linkend="chapter-temporary-tools"/> packages all build
    165 against the new Glibc in <filename
    166 class="directory">/tools</filename>.</para>
    167 
    168 <para>Upon entering the chroot environment in <xref
    169 linkend="chapter-building-system"/>, the first major package to be
    170 installed is Glibc, due to its self-sufficient nature mentioned above.
    171 Once this Glibc is installed into <filename
    172 class="directory">/usr</filename>, perform a quick changeover of the
    173 toolchain defaults, then proceed in building the rest of the target
    174 LFS system.</para>
    175 
    176 <!-- Removed as part of the fix for bug 1061 - we no longer build pass1
    177      packages statically, therefore this explanation isn't required -->
    178 
    179 <!--<sect2>
    180 <title>Notes on Static Linking</title>
    181 
    182 <para>Besides their specific task, most programs have to perform many
    183 common and sometimes trivial operations. These include allocating
    184 memory, searching directories, reading and writing files, string
    185 handling, pattern matching, arithmetic, and other tasks. Instead of
    186 obliging each program to reinvent the wheel, the GNU system provides
    187 all these basic functions in ready-made libraries. The major library
    188 on any Linux system is Glibc.</para>
    189 
    190 <para>There are two primary ways of linking the functions from a
    191 library to a program that uses them&mdash;statically or dynamically. When
    192 a program is linked statically, the code of the used functions is
    193 included in the executable, resulting in a rather bulky program. When
    194 a program is dynamically linked, it includes a reference to the
    195 dynamic linker, the name of the library, and the name of the function,
    196 resulting in a much smaller executable. A third option is to use the
    197 programming interface of the dynamic linker (see <filename>dlopen(3)</filename>
    198 for more information).</para>
    199 
    200 <para>Dynamic linking is the default on Linux and has three major
    201 advantages over static linking. First, only one copy of the executable
    202 library code is needed on the hard disk, instead of having multiple
    203 copies of the same code included in several programs, thus saving
    204 disk space. Second, when several programs use the same library
    205 function at the same time, only one copy of the function's code is
    206 required in core, thus saving memory space. Third, when a library
    207 function gets a bug fixed or is otherwise improved, only the one
    208 library needs to be recompiled instead of recompiling all programs
    209 that make use of the improved function.</para>
    210 
    211 <para>If dynamic linking has several advantages, why then do we
    212 statically link the first two packages in this chapter? The reasons
    213 are threefold&mdash;historical, educational, and technical. The
    214 historical reason is that earlier versions of LFS statically linked
    215 every program in this chapter. Educationally, knowing the difference
    216 between static and dynamic linking is useful. The technical benefit is
    217 a gained element of independence from the host, meaning that those
    218 programs can be used independently of the host system. However, it is
    219 worth noting that an overall successful LFS build can still be
    220 achieved when the first two packages are built dynamically.</para>
    221 
    222 </sect2>-->
     104  <para>This is important for the reasons mentioned above. It also demonstrates
     105  that GCC's configure script does not search the PATH directories to find which
     106  tools to use. However, during the actual operation of <command>gcc</command>
     107  itself, the same search paths are not necessarily used. To find out which
     108  standard linker <command>gcc</command> will use, run:
     109  <userinput>gcc -print-prog-name=ld</userinput>.</para>
     110
     111  <para>Detailed information can be obtained from <command>gcc</command> by
     112  passing it the <parameter>-v</parameter> command line option while compiling
     113  a dummy program. For example, <userinput>gcc -v dummy.c</userinput> will show
     114  detailed information about the preprocessor, compilation, and assembly stages,
     115  including <command>gcc</command>'s included search paths and their order.</para>
     116
     117  <para>The next package installed is Glibc. The most important considerations
     118  for building Glibc are the compiler, binary tools, and kernel headers. The
     119  compiler is generally not an issue since Glibc will always use the
     120  <command>gcc</command> found in a <envar>PATH</envar> directory. The binary
     121  tools and kernel headers can be a bit more complicated. Therefore, take no
     122  risks and use the available configure switches to enforce the correct
     123  selections. After the run of <command>configure</command>, check the contents
     124  of the <filename>config.make</filename> file in the <filename
     125  class="directory">glibc-build</filename> directory for all important details.
     126  Note the use of <parameter>CC="gcc -B/tools/bin/"</parameter> to control which
     127  binary tools are used and the use of the <parameter>-nostdinc</parameter>
     128  and <parameter>-isystem</parameter> flags to control the compiler's include
     129  search path. These items highlight an important aspect of the Glibc
     130  package&mdash;it is very self-sufficient in terms of its build machinery and
     131  generally does not rely on toolchain defaults.</para>
     132
     133  <para>After the Glibc installation, make some adjustments to ensure that
     134  searching and linking take place only within the <filename
     135  class="directory">/tools</filename> prefix.  Install an adjusted
     136  <command>ld</command>, which has a hard-wired search path limited to
     137  <filename class="directory">/tools/lib</filename>. Then amend
     138  <command>gcc</command>'s specs file to point to the new dynamic linker in
     139  <filename class="directory">/tools/lib</filename>. This last step is vital
     140  to the whole process. As mentioned above, a hard-wired path to a dynamic
     141  linker is embedded into every Executable and Link Format (ELF)-shared
     142  executable.  This can be inspected by running:
     143  <userinput>readelf -l &lt;name of binary&gt; | grep interpreter</userinput>.
     144  Amending gcc's specs file ensures that every program compiled from here
     145  through the end of this chapter will use the new dynamic linker in
     146  <filename class="directory">/tools/lib</filename>.</para>
     147
     148  <para>The need to use the new dynamic linker is also the reason why
     149  the Specs patch is applied for the second pass of GCC. Failure to do
     150  so will result in the GCC programs themselves having the name of the
     151  dynamic linker from the host system's <filename
     152  class="directory">/lib</filename> directory embedded into them, which
     153  would defeat the goal of getting away from the host.</para>
     154
     155  <para>During the second pass of Binutils, we are able to utilize the
     156  <parameter>--with-lib-path</parameter> configure switch to control
     157  <command>ld</command>'s library search path.  From this point onwards,
     158  the core toolchain is self-contained and self-hosted. The remainder of
     159  the <xref linkend="chapter-temporary-tools"/> packages all build against
     160  the new Glibc in <filename class="directory">/tools</filename>.</para>
     161
     162  <para>Upon entering the chroot environment in <xref
     163  linkend="chapter-building-system"/>, the first major package to be
     164  installed is Glibc, due to its self-sufficient nature mentioned above.
     165  Once this Glibc is installed into <filename
     166  class="directory">/usr</filename>, perform a quick changeover of the
     167  toolchain defaults, then proceed in building the rest of the target
     168  LFS system.</para>
     169
     170  <!-- Removed as part of the fix for bug 1061 - we no longer build pass1
     171      packages statically, therefore this explanation isn't required -->
     172
     173  <!--<sect2>
     174  <title>Notes on Static Linking</title>
     175
     176  <para>Besides their specific task, most programs have to perform many
     177  common and sometimes trivial operations. These include allocating
     178  memory, searching directories, reading and writing files, string
     179  handling, pattern matching, arithmetic, and other tasks. Instead of
     180  obliging each program to reinvent the wheel, the GNU system provides
     181  all these basic functions in ready-made libraries. The major library
     182  on any Linux system is Glibc.</para>
     183
     184  <para>There are two primary ways of linking the functions from a
     185  library to a program that uses them&mdash;statically or dynamically. When
     186  a program is linked statically, the code of the used functions is
     187  included in the executable, resulting in a rather bulky program. When
     188  a program is dynamically linked, it includes a reference to the
     189  dynamic linker, the name of the library, and the name of the function,
     190  resulting in a much smaller executable. A third option is to use the
     191  programming interface of the dynamic linker (see <filename>dlopen(3)</filename>
     192  for more information).</para>
     193
     194  <para>Dynamic linking is the default on Linux and has three major
     195  advantages over static linking. First, only one copy of the executable
     196  library code is needed on the hard disk, instead of having multiple
     197  copies of the same code included in several programs, thus saving
     198  disk space. Second, when several programs use the same library
     199  function at the same time, only one copy of the function's code is
     200  required in core, thus saving memory space. Third, when a library
     201  function gets a bug fixed or is otherwise improved, only the one
     202  library needs to be recompiled instead of recompiling all programs
     203  that make use of the improved function.</para>
     204
     205  <para>If dynamic linking has several advantages, why then do we
     206  statically link the first two packages in this chapter? The reasons
     207  are threefold&mdash;historical, educational, and technical. The
     208  historical reason is that earlier versions of LFS statically linked
     209  every program in this chapter. Educationally, knowing the difference
     210  between static and dynamic linking is useful. The technical benefit is
     211  a gained element of independence from the host, meaning that those
     212  programs can be used independently of the host system. However, it is
     213  worth noting that an overall successful LFS build can still be
     214  achieved when the first two packages are built dynamically.</para>
     215
     216  </sect2>-->
    223217
    224218</sect1>
    225 
  • chapter05/util-linux.xml

    r7b82580 rb28fd35  
    11<?xml version="1.0" encoding="ISO-8859-1"?>
    2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     3  "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
    34  <!ENTITY % general-entities SYSTEM "../general.ent">
    45  %general-entities;
    56]>
     7
    68<sect1 id="ch-tools-util-linux" role="wrap">
    7 <title>Util-linux-&util-linux-version;</title>
    8 <?dbhtml filename="util-linux.html"?>
     9  <?dbhtml filename="util-linux.html"?>
    910
    10 <indexterm zone="ch-tools-util-linux">
    11 <primary sortas="a-Util-linux">Util-linux</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Util-linux-&util-linux-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-util-linux">
     14    <primary sortas="a-Util-linux">Util-linux</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.2 SBU</seg><seg>8.9 MB</seg></seglistitem>
    21 </segmentedlist>
     18  <sect2 role="package">
     19    <title/>
    2220
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/util-linux.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/util-linux.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    2424
    25 </sect2>
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
    2628
    27 <sect2 role="installation">
    28 <title>Installation of Util-linux</title>
     29      <seglistitem>
     30        <seg>0.2 SBU</seg>
     31        <seg>8.9 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>Util-linux does not use the freshly installed headers and libraries from
    31 the <filename class="directory">/tools</filename> directory by default. This is
    32 fixed by altering the configure script:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/util-linux.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Util-linux</title>
     43
     44    <para>Util-linux does not use the freshly installed headers and libraries
     45    from the <filename class="directory">/tools</filename> directory by default.
     46    This is fixed by altering the configure script:</para>
    3347
    3448<screen><userinput>sed -i 's@/usr/include@/tools/include@g' configure</userinput></screen>
    3549
    36 <para>Prepare Util-linux for compilation:</para>
     50    <para>Prepare Util-linux for compilation:</para>
    3751
    3852<screen><userinput>./configure</userinput></screen>
    3953
    40 <para>Compile some support routines:</para>
     54    <para>Compile some support routines:</para>
    4155
    4256<screen><userinput>make -C lib</userinput></screen>
    4357
    44 <para>Only a few of the utilities contained in this package need to be
    45 built:</para>
     58    <para>Only a few of the utilities contained in this package need to be
     59    built:</para>
    4660
    4761<screen><userinput>make -C mount mount umount
    4862make -C text-utils more</userinput></screen>
    4963
    50 <para>This package does not come with a test suite.</para>
     64    <para>This package does not come with a test suite.</para>
    5165
    52 <para>Copy these programs to the temporary tools directory:</para>
     66    <para>Copy these programs to the temporary tools directory:</para>
    5367
    5468<screen><userinput>cp mount/{,u}mount text-utils/more /tools/bin</userinput></screen>
    5569
    56 </sect2>
     70  </sect2>
    5771
    58 <sect2 role="content"><title/>
    59 <para>Details on this package are located in <xref
    60 linkend="contents-utillinux" role="."/></para>
    61 </sect2>
     72  <sect2 role="content">
     73    <title/>
     74
     75    <para>Details on this package are located in
     76    <xref linkend="contents-utillinux" role="."/></para>
     77
     78  </sect2>
     79
    6280</sect1>
    63 
Note: See TracChangeset for help on using the changeset viewer.