Changeset d096eb1


Ignore:
Timestamp:
01/20/2006 09:03:20 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Children:
d1ae0cb
Parents:
f658b21
Message:

Ported r7286 from trunk to alphabetical.

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

Location:
chapter05
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • chapter05/gcc-pass1.xml

    rf658b21 rd096eb1  
    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-gcc-pass1" role="wrap">
    7 <title>GCC-&gcc-version; - Pass 1</title>
    8 <?dbhtml filename="gcc-pass1.html"?>
     9  <?dbhtml filename="gcc-pass1.html"?>
    910
    10 <indexterm zone="ch-tools-gcc-pass1">
    11 <primary sortas="a-GCC">GCC</primary>
    12 <secondary>tools, pass 1</secondary></indexterm>
     11  <title>GCC-&gcc-version; - Pass 1</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-gcc-pass1">
     14    <primary sortas="a-GCC">GCC</primary>
     15    <secondary>tools, pass 1</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>4.4 SBU</seg><seg>219 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/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/gcc.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 GCC</title>
     29      <seglistitem>
     30        <seg>4.4 SBU</seg>
     31        <seg>219 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>The GCC documentation recommends building GCC outside of the
    31 source directory in a dedicated build directory:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/gcc.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of GCC</title>
     43
     44    <para>The GCC documentation recommends building GCC outside of the
     45    source directory in a dedicated build directory:</para>
    3246
    3347<screen><userinput>mkdir -v ../gcc-build
    3448cd ../gcc-build</userinput></screen>
    3549
    36 <para>Prepare GCC for compilation:</para>
     50    <para>Prepare GCC for compilation:</para>
    3751
    3852<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
     
    4054    --enable-languages=c</userinput></screen>
    4155
    42 <para>The meaning of the configure options:</para>
     56    <variablelist>
     57      <title>The meaning of the configure options:</title>
    4358
    44 <variablelist>
    45 <varlistentry>
    46 <term><parameter>--with-local-prefix=/tools</parameter></term>
    47 <listitem><para>The purpose of this switch is to remove <filename class="directory">/usr/local/include</filename>
    48 from <command>gcc</command>'s include search path. This is not absolutely
    49 essential, however, it helps to minimize the influence of the host
    50 system.</para>
    51 </listitem>
    52 </varlistentry>
     59      <varlistentry>
     60        <term><parameter>--with-local-prefix=/tools</parameter></term>
     61        <listitem>
     62          <para>The purpose of this switch is to remove <filename
     63          class="directory">/usr/local/include</filename> from
     64          <command>gcc</command>'s include search path. This is not
     65          absolutely essential, however, it helps to minimize the
     66          influence of the host system.</para>
     67        </listitem>
     68      </varlistentry>
    5369
    54 <varlistentry>
    55 <term><parameter>--enable-shared</parameter></term>
    56 <listitem><para>This switch allows the building of
    57 <filename class="libraryfile">libgcc_s.so.1</filename> and
    58 <filename class="libraryfile">libgcc_eh.a</filename>.  Having
    59 <filename class="libraryfile">libgcc_eh.a</filename> available ensures that the
    60 configure script for Glibc (the next package we compile) produces the proper
    61 results.</para></listitem>
    62 </varlistentry>
     70      <varlistentry>
     71        <term><parameter>--enable-shared</parameter></term>
     72        <listitem>
     73          <para>This switch allows the building of <filename
     74          class="libraryfile">libgcc_s.so.1</filename> and
     75          <filename class="libraryfile">libgcc_eh.a</filename>.
     76          Having <filename class="libraryfile">libgcc_eh.a</filename>
     77          available ensures that the configure script for Glibc (the
     78          next package we compile) produces the proper results.</para>
     79        </listitem>
     80      </varlistentry>
    6381
    64 <varlistentry>
    65 <term><parameter>--enable-languages=c</parameter></term>
    66 <listitem><para>This option ensures that only the C compiler is built.
    67 </para></listitem>
    68 </varlistentry>
    69 </variablelist>
     82      <varlistentry>
     83        <term><parameter>--enable-languages=c</parameter></term>
     84        <listitem>
     85          <para>This option ensures that only the C compiler is built.</para>
     86        </listitem>
     87      </varlistentry>
    7088
    71 <para>Continue with compiling the package:</para>
     89    </variablelist>
     90
     91    <para>Continue with compiling the package:</para>
    7292
    7393<screen><userinput>make bootstrap</userinput></screen>
    7494
    75 <para>The meaning of the make parameters:</para>
     95    <variablelist>
     96      <title>The meaning of the make parameters:</title>
    7697
    77 <variablelist>
    78 <varlistentry>
    79 <term><parameter>bootstrap</parameter></term>
    80 <listitem><para>This target does not just compile GCC, but compiles it
    81 several times. It uses the programs compiled in a first round to
    82 compile itself a second time, and then again a third time. It then
    83 compares these second and third compiles to make sure it can reproduce
    84 itself flawlessly.  This also implies that it was compiled
    85 correctly.</para></listitem>
    86 </varlistentry>
    87 </variablelist>
     98      <varlistentry>
     99        <term><parameter>bootstrap</parameter></term>
     100        <listitem>
     101          <para>This target does not just compile GCC, but compiles it
     102          several times. It uses the programs compiled in a first round
     103          to compile itself a second time, and then again a third time.
     104          It then compares these second and third compiles to make sure
     105          it can reproduce itself flawlessly. This also implies that it
     106          was compiled correctly.</para>
     107        </listitem>
     108      </varlistentry>
    88109
    89 <para>Compilation is now complete. At this point, the test suite would
    90 normally be run, but, as mentioned before, the test suite framework is
    91 not in place yet. The benefits of running the tests at this point
    92 are minimal since the programs from this first pass will soon be
    93 replaced.</para>
     110    </variablelist>
    94111
    95 <para>Install the package:</para>
     112    <para>Compilation is now complete. At this point, the test suite would
     113    normally be run, but, as mentioned before, the test suite framework is
     114    not in place yet. The benefits of running the tests at this point
     115    are minimal since the programs from this first pass will soon be
     116    replaced.</para>
     117
     118    <para>Install the package:</para>
    96119
    97120<screen><userinput>make install</userinput></screen>
    98121
    99 <para>As a finishing touch, create a symlink. Many programs and
    100 scripts run <command>cc</command> instead of <command>gcc</command>, which is used to keep programs generic
    101 and therefore usable on all kinds of UNIX systems where the GNU C compiler
    102 is not always installed. Running <command>cc</command> leaves the system administrator
    103 free to decide which C compiler to install.</para>
     122    <para>As a finishing touch, create a symlink. Many programs and scripts
     123    run <command>cc</command> instead of <command>gcc</command>, which is
     124    used to keep programs generic and therefore usable on all kinds of UNIX
     125    systems where the GNU C compiler is not always installed. Running
     126    <command>cc</command> leaves the system administrator free to decide
     127    which C compiler to install.</para>
    104128
    105129<screen><userinput>ln -vs gcc /tools/bin/cc</userinput></screen>
    106130
    107 </sect2>
     131  </sect2>
    108132
    109 <sect2 role="content"><title/>
    110 <para>Details on this package are located in <xref
    111 linkend="contents-gcc" role="."/></para>
    112 </sect2>
     133  <sect2 role="content">
     134    <title/>
     135
     136    <para>Details on this package are located in
     137    <xref linkend="contents-gcc" role="."/></para>
     138
     139  </sect2>
    113140
    114141</sect1>
    115 
  • chapter05/gcc-pass2.xml

    rf658b21 rd096eb1  
    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-gcc-pass2" role="wrap">
    7 <title>GCC-&gcc-version; - Pass 2</title>
    8 <?dbhtml filename="gcc-pass2.html"?>
    9 
    10 <indexterm zone="ch-tools-gcc-pass2">
    11 <primary sortas="a-GCC">GCC</primary>
    12 <secondary>tools, pass 2</secondary></indexterm>
    13 
    14 <sect2 role="package"><title/>
    15 
    16 <segmentedlist>
    17 <segtitle>&buildtime;</segtitle>
    18 <segtitle>&diskspace;</segtitle>
    19 <seglistitem><seg>11.0 SBU</seg><seg>292 MB</seg></seglistitem>
    20 </segmentedlist>
    21 
    22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gcc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
    23 
    24 </sect2>
    25 
    26 <sect2 role="installation">
    27 <title>Re-installation of GCC</title>
    28 
    29 <para>The tools required to test GCC and Binutils&mdash;Tcl, Expect
    30 and DejaGNU&mdash;are installed now. GCC and Binutils can now be
    31 rebuilt, linking them against the new Glibc and testing them properly
    32 (if running the test suites in this chapter). Please note that these
    33 test suites are highly dependent on properly functioning PTYs which
    34 are provided by the host. PTYs are most commonly implemented via the
    35 <systemitem class="filesystem">devpts</systemitem> file system. Check
    36 to see if the host system is set up correctly in this regard by
    37 performing a quick test:</para>
     9  <?dbhtml filename="gcc-pass2.html"?>
     10
     11  <title>GCC-&gcc-version; - Pass 2</title>
     12
     13  <indexterm zone="ch-tools-gcc-pass2">
     14    <primary sortas="a-GCC">GCC</primary>
     15    <secondary>tools, pass 2</secondary>
     16  </indexterm>
     17
     18  <sect2 role="package">
     19    <title/>
     20
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/gcc.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     24
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
     28
     29      <seglistitem>
     30        <seg>11.0 SBU</seg>
     31        <seg>292 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
     34
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/gcc.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Re-installation of GCC</title>
     43
     44    <para>The tools required to test GCC and Binutils&mdash;Tcl, Expect
     45    and DejaGNU&mdash;are installed now. GCC and Binutils can now be
     46    rebuilt, linking them against the new Glibc and testing them properly
     47    (if running the test suites in this chapter). Please note that these
     48    test suites are highly dependent on properly functioning PTYs which
     49    are provided by the host. PTYs are most commonly implemented via the
     50    <systemitem class="filesystem">devpts</systemitem> file system. Check
     51    to see if the host system is set up correctly in this regard by
     52    performing a quick test:</para>
    3853
    3954<screen><userinput>expect -c "spawn ls"</userinput></screen>
    4055
    41 <para>The response might be:</para>
    42 
    43 <screen><computeroutput>The system has no more ptys. 
     56    <para>The response might be:</para>
     57
     58<screen><computeroutput>The system has no more ptys.
    4459Ask your system administrator to create more.</computeroutput></screen>
    4560
    46 <para>If the above message is received, the host does not have its PTYs set up
    47 properly. In this case, there is no point in running the test suites for GCC and
    48 Binutils until this issue is resolved. Please consult the LFS FAQ at <ulink
    49 url="&lfs-root;/lfs/faq.html#no-ptys"/> for more information on how to get PTYs
    50 working.</para>
    51 
    52 <para>As previously explained in <xref linkend="ch-tools-adjusting"/>,  under
    53 normal circumstances the GCC <command>fixincludes</command> script is run in
    54 order to fix potentially broken header files.  As GCC-&gcc-version; and
    55 Glibc-&glibc-version; have already been installed at this point, and their
    56 respective header files are known to not require fixing, the
    57 <command>fixincludes</command> script is not required.  As mentioned previously,
    58 the script may in fact pollute the build environment by installing fixed headers
    59 from the host system into GCC's private include directory.  The running of the
    60 <command>fixincludes</command> script can be suppressed by issuing the following
    61 commands:</para>
     61    <para>If the above message is received, the host does not have its PTYs
     62    set up properly. In this case, there is no point in running the test
     63    suites for GCC and Binutils until this issue is resolved. Please consult
     64    the LFS FAQ at <ulink url="&lfs-root;/lfs/faq.html#no-ptys"/> for more
     65    information on how to get PTYs working.</para>
     66
     67    <para>As previously explained in <xref linkend="ch-tools-adjusting"/>,
     68    under normal circumstances the GCC <command>fixincludes</command> script
     69    is run in order to fix potentially broken header files. As GCC-&gcc-version;
     70    and Glibc-&glibc-version; have already been installed at this point, and
     71    their respective header files are known to not require fixing, the
     72    <command>fixincludes</command> script is not required. As mentioned
     73    previously, the script may in fact pollute the build environment by
     74    installing fixed headers from the host system into GCC's private include
     75    directory. The running of the <command>fixincludes</command> script can
     76    be suppressed by issuing the following commands:</para>
    6277
    6378<screen><userinput>cp -v gcc/Makefile.in{,.orig} &amp;&amp;
    6479sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig &gt; gcc/Makefile.in</userinput></screen>
    6580
    66 <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
    67 built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
    68 Non-bootstrap builds omit this flag by default, so apply the following
    69 <command>sed</command> to use it in order to ensure consistent compiler builds.
    70 </para>
     81    <para>The bootstrap build performed in <xref linkend="ch-tools-gcc-pass1"/>
     82    built GCC with the <option>-fomit-frame-pointer</option> compiler flag.
     83    Non-bootstrap builds omit this flag by default, so apply the following
     84    <command>sed</command> to use it in order to ensure consistent compiler
     85    builds.</para>
    7186
    7287<screen><userinput>cp -v gcc/Makefile.in{,.tmp} &amp;&amp;
    7388sed 's/^XCFLAGS =$/&amp; -fomit-frame-pointer/' gcc/Makefile.in.tmp \
    74         &gt; gcc/Makefile.in</userinput></screen>
    75 
    76 <para>Apply the following patch to change the location of GCC's default dynamic
    77 linker (typically <filename class="libraryfile">ld-linux.so.2</filename>):</para>
     89  &gt; gcc/Makefile.in</userinput></screen>
     90
     91    <para>Apply the following patch to change the location of GCC's default
     92    dynamiclinker (typically <filename
     93    class="libraryfile">ld-linux.so.2</filename>):</para>
    7894
    7995<screen><userinput>patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
    8096
    81 <para>The above patch also removes
    82 <filename class="directory">/usr/include</filename> from GCC's include search
    83 path. Patching now rather than adjusting the specs file after installation
    84 ensures that the new dynamic linker is used during the actual build of GCC. That
    85 is, all of the binaries created during the build will link against the new
    86 Glibc.</para>
    87 
    88 <important><para>The above patch is critical in ensuring a
    89 successful overall build. Do not forget to apply
    90 it.</para></important>
    91 
    92 <para>Create a separate build directory again:</para>
     97    <para>The above patch also removes <filename
     98    class="directory">/usr/include</filename> from GCC's include search path.
     99    Patching now rather than adjusting the specs file after installation
     100    ensures that the new dynamic linker is used during the actual build of
     101    GCC. That is, all of the binaries created during the build will link
     102    against the new Glibc.</para>
     103
     104    <important>
     105      <para>The above patch is critical in ensuring a successful overall
     106      build. Do not forget to apply it.</para>
     107    </important>
     108
     109    <para>Create a separate build directory again:</para>
    93110
    94111<screen><userinput>mkdir -v ../gcc-build
    95112cd ../gcc-build</userinput></screen>
    96113
    97 <para>Before starting to build GCC, remember to unset any environment
    98 variables that override the default optimization flags.</para>
    99 
    100 <para>Now prepare GCC for compilation:</para>
     114    <para>Before starting to build GCC, remember to unset any environment
     115    variables that override the default optimization flags.</para>
     116
     117    <para>Now prepare GCC for compilation:</para>
    101118
    102119<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
     
    106123    --disable-libstdcxx-pch</userinput></screen>
    107124
    108 <para>The meaning of the new configure options:</para>
    109 
    110 <variablelist>
    111 <varlistentry>
    112 <term><parameter>--enable-clocale=gnu</parameter></term>
    113 <listitem><para>This option ensures the correct locale model is
    114 selected for the C++ libraries under all circumstances. If the
    115 configure script finds the <emphasis>de_DE</emphasis> locale installed, it will select the
    116 correct gnu locale model. However, if the <emphasis>de_DE</emphasis> locale is not
    117 installed, there is the risk of building Application Binary Interface
    118 (ABI)-incompatible C++ libraries because the incorrect generic locale
    119 model may be selected.</para></listitem>
    120 </varlistentry>
    121 
    122 <varlistentry>
    123 <term><parameter>--enable-threads=posix</parameter></term>
    124 <listitem><para>This enables C++ exception handling for multi-threaded
    125 code.</para></listitem>
    126 </varlistentry>
    127 
    128 <varlistentry>
    129 <term><parameter>--enable-__cxa_atexit</parameter></term>
    130 <listitem><para>This option allows use of
    131 <emphasis>__cxa_atexit</emphasis>, rather than
    132 <emphasis>atexit</emphasis>, to register C++ destructors for local
    133 statics and global objects.  This option is essential for fully
    134 standards-compliant handling of destructors. It also affects the C++
    135 ABI, and therefore results in C++ shared libraries and C++ programs
    136 that are interoperable with other Linux
    137 distributions.</para></listitem>
    138 </varlistentry>
    139 
    140 <varlistentry>
    141 <term><parameter>--enable-languages=c,c++</parameter></term>
    142 <listitem><para>This option
    143 ensures that both the C and C++ compilers are built.</para></listitem>
    144 </varlistentry>
    145 
    146 <varlistentry>
    147 <term><parameter>--disable-libstdcxx-pch</parameter></term>
    148 <listitem><para>Do not build the pre-compiled header (PCH) for
    149 <filename class="libraryfile">libstdc++</filename>. It takes up a lot of space,
    150 and we have no use for it.</para></listitem>
    151 </varlistentry>
    152 </variablelist>
    153 
    154 <para>Compile the package:</para>
     125    <variablelist>
     126      <title>The meaning of the new configure options:</title>
     127
     128      <varlistentry>
     129        <term><parameter>--enable-clocale=gnu</parameter></term>
     130        <listitem>
     131          <para>This option ensures the correct locale model is selected
     132          for the C++ libraries under all circumstances. If the configure
     133          script finds the <emphasis>de_DE</emphasis> locale installed,
     134          it will select the correct gnu locale model. However, if the
     135          <emphasis>de_DE</emphasis> locale is not installed, there is the
     136          risk of building Application Binary Interface (ABI)-incompatible
     137          C++ libraries because the incorrect generic locale model may be
     138          selected.</para>
     139        </listitem>
     140      </varlistentry>
     141
     142      <varlistentry>
     143        <term><parameter>--enable-threads=posix</parameter></term>
     144        <listitem>
     145          <para>This enables C++ exception handling for multi-threaded code.</para>
     146        </listitem>
     147      </varlistentry>
     148
     149      <varlistentry>
     150        <term><parameter>--enable-__cxa_atexit</parameter></term>
     151        <listitem>
     152          <para>This option allows use of <function>__cxa_atexit</function>,
     153          rather than <function>atexit</function>, to register C++ destructors
     154          for local statics and global objects. This option is essential for
     155          fully standards-compliant handling of destructors. It also affects
     156          the C++ ABI, and therefore results in C++ shared libraries and C++
     157          programs that are interoperable with other Linux distributions.</para>
     158        </listitem>
     159      </varlistentry>
     160
     161      <varlistentry>
     162        <term><parameter>--enable-languages=c,c++</parameter></term>
     163        <listitem>
     164          <para>This option ensures that both the C and C++ compilers are
     165          built.</para>
     166        </listitem>
     167      </varlistentry>
     168
     169      <varlistentry>
     170        <term><parameter>--disable-libstdcxx-pch</parameter></term>
     171        <listitem>
     172          <para>Do not build the pre-compiled header (PCH) for
     173          <filename class="libraryfile">libstdc++</filename>. It takes up a
     174          lot of space, and we have no use for it.</para>
     175        </listitem>
     176      </varlistentry>
     177
     178    </variablelist>
     179
     180    <para>Compile the package:</para>
    155181
    156182<screen><userinput>make</userinput></screen>
    157183
    158 <para>There is no need to use the <parameter>bootstrap</parameter>
    159 target now because the compiler being used to compile this GCC was
    160 built from the exact same version of the GCC sources used
    161 earlier.</para>
    162 
    163 <para>Compilation is now complete. As previously mentioned, running
    164 the test suites for the temporary tools compiled in this chapter is
    165 not mandatory. To run the GCC test suite anyway, use the following
    166 command:</para>
     184    <para>There is no need to use the <parameter>bootstrap</parameter> target
     185    now because the compiler being used to compile this GCC was built from
     186    the exact same version of the GCC sources used earlier.</para>
     187
     188    <para>Compilation is now complete. As previously mentioned, running the test
     189    suites for the temporary tools compiled in this chapter is not mandatory.
     190    To run the GCC test suite anyway, use the following command:</para>
    167191
    168192<screen><userinput>make -k check</userinput></screen>
    169193
    170 <para>The <parameter>-k</parameter> flag is used to make the test suite run
    171 through to completion and not stop at the first failure. The GCC test
    172 suite is very comprehensive and is almost guaranteed to generate a few
    173 failures. To receive a summary of the test suite results, run:</para>
    174  
     194    <para>The <parameter>-k</parameter> flag is used to make the test suite run
     195    through to completion and not stop at the first failure. The GCC test
     196    suite is very comprehensive and is almost guaranteed to generate a few
     197    failures. To receive a summary of the test suite results, run:</para>
     198
    175199<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
    176200
    177 <para>For only the summaries, pipe the output through
    178 <userinput>grep -A7 Summ</userinput>.</para>
    179 
    180 <para>Results can be compared with those located at <ulink
    181 url="&test-results;"/>.</para>
    182 
    183 <para>A few unexpected failures cannot always be avoided. The GCC developers are
    184 usually aware of these issues, but have not resolved them yet. In particular,
    185 the <filename class="libraryfile">libmudflap</filename> tests are known be
    186 particularly problematic as a result of a bug in GCC (<ulink
    187 url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20003"/>).  Unless the test
    188 results are vastly different from those at the above URL, it is safe to
    189 continue.</para>
    190 
    191 <para>Install the package:</para>
     201    <para>For only the summaries, pipe the output through
     202    <userinput>grep -A7 Summ</userinput>.</para>
     203
     204    <para>Results can be compared with those located at <ulink
     205    url="&test-results;"/>.</para>
     206
     207    <para>A few unexpected failures cannot always be avoided. The GCC developers
     208    are usually aware of these issues, but have not resolved them yet. In
     209    particular, the <filename class="libraryfile">libmudflap</filename> tests
     210    are known be particularly problematic as a result of a bug in GCC
     211    (<ulink url="http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20003"/>).
     212    Unless the test results are vastly different from those at the above URL,
     213    it is safe to continue.</para>
     214
     215    <para>Install the package:</para>
    192216
    193217<screen><userinput>make install</userinput></screen>
    194218
    195 <note><para>At this point it is strongly recommended to repeat the
    196 sanity check we performed earlier in this chapter. Refer back to <xref
    197 linkend="ch-tools-adjusting" role=","/> and repeat the test compilation.  If
    198 the result is wrong, the most likely reason is that the GCC Specs
    199 patch was not properly applied.</para></note>
    200 
    201 </sect2>
    202 
    203 <sect2 role="content"><title/>
    204 <para>Details on this package are located in <xref
    205 linkend="contents-gcc" role="."/></para>
    206 </sect2>
     219    <note>
     220      <para>At this point it is strongly recommended to repeat the sanity
     221      check we performed earlier in this chapter. Refer back to <xref
     222      linkend="ch-tools-adjusting" role=","/> and repeat the test compilation.
     223      If the result is wrong, the most likely reason is that the GCC Specs
     224      patch was not properly applied.</para>
     225    </note>
     226
     227  </sect2>
     228
     229  <sect2 role="content">
     230    <title/>
     231
     232    <para>Details on this package are located in
     233    <xref linkend="contents-gcc" role="."/></para>
     234
     235  </sect2>
    207236
    208237</sect1>
    209 
  • chapter05/gettext.xml

    rf658b21 rd096eb1  
    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-gettext" role="wrap">
    7 <title>Gettext-&gettext-version;</title>
    8 <?dbhtml filename="gettext.html"?>
     9  <?dbhtml filename="gettext.html"?>
    910
    10 <indexterm zone="ch-tools-gettext">
    11 <primary sortas="a-Gettext">Gettext</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Gettext-&gettext-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-gettext">
     14    <primary sortas="a-Gettext">Gettext</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.5 SBU</seg><seg>63.0 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/gettext.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/gettext.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 Gettext</title>
     29      <seglistitem>
     30        <seg>0.5 SBU</seg>
     31        <seg>63.0 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>For our temporary set of tools, we only need to build and install one binary from Gettext.</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/gettext.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
    3138
    32 <para>Prepare Gettext for compilation:</para>
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Gettext</title>
     43
     44    <para>For our temporary set of tools, we only need to build and install
     45    one binary from Gettext.</para>
     46
     47    <para>Prepare Gettext for compilation:</para>
    3348
    3449<screen><userinput>cd gettext-tools
    3550./configure --prefix=/tools --disable-shared</userinput></screen>
    3651
    37 <para>The meaning of the configure options:</para>
     52    <variablelist>
     53      <title>The meaning of the configure options:</title>
    3854
    39 <variablelist>
    40 <varlistentry>
    41 <term><parameter>--disable-shared</parameter></term>
    42 <listitem><para>We do not need to install any of the shared gettext libraries at
    43 this time, therefore there is no need to build them.</para></listitem>
    44 </varlistentry>
    45 </variablelist>
     55      <varlistentry>
     56        <term><parameter>--disable-shared</parameter></term>
     57        <listitem>
     58          <para>We do not need to install any of the shared Gettext libraries at
     59          this time, therefore there is no need to build them.</para>
     60        </listitem>
     61      </varlistentry>
    4662
    47 <para>Compile the package:</para>
     63    </variablelist>
     64
     65    <para>Compile the package:</para>
    4866
    4967<screen><userinput>make -C lib
    5068make -C src msgfmt</userinput></screen>
    5169
    52 <para>As only one binary has been compiled, it is not possible to run the
    53 testsuite without compiling additional support libraries from the Gettext
    54 package. It is therefore not recommended to attempt to run the testsuite at
    55 this stage.</para>
     70    <para>As only one binary has been compiled, it is not possible to run the
     71    testsuite without compiling additional support libraries from the Gettext
     72    package. It is therefore not recommended to attempt to run the testsuite at
     73    this stage.</para>
    5674
    57 <para>Install the <command>msgfmt</command> binary:</para>
     75    <para>Install the <command>msgfmt</command> binary:</para>
    5876
    5977<screen><userinput>cp -v src/msgfmt /tools/bin</userinput></screen>
    6078
    61 </sect2>
     79  </sect2>
    6280
    63 <sect2 role="content"><title/>
    64 <para>Details on this package are located in <xref linkend="contents-gettext" role="."/></para>
    65 </sect2>
     81  <sect2 role="content">
     82    <title/>
     83
     84    <para>Details on this package are located in
     85    <xref linkend="contents-gettext" role="."/></para>
     86
     87  </sect2>
    6688
    6789</sect1>
    68 
  • chapter05/glibc.xml

    rf658b21 rd096eb1  
    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-glibc" role="wrap">
    7 <title>Glibc-&glibc-version;</title>
    8 <?dbhtml filename="glibc.html"?>
    9 
    10 <indexterm zone="ch-tools-glibc">
    11 <primary sortas="a-Glibc">Glibc</primary>
    12 <secondary>tools</secondary></indexterm>
    13 
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
    16 
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>11.8 SBU</seg><seg>454 MB</seg></seglistitem>
    21 </segmentedlist>
    22 
    23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/glibc.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
    24 
    25 </sect2>
    26 
    27 <sect2 role="installation">
    28 <title>Installation of Glibc</title>
    29 
    30 <para>The Glibc documentation recommends building Glibc outside of the source
    31 directory in a dedicated build directory:</para>
     9  <?dbhtml filename="glibc.html"?>
     10
     11  <title>Glibc-&glibc-version;</title>
     12
     13  <indexterm zone="ch-tools-glibc">
     14    <primary sortas="a-Glibc">Glibc</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
     17
     18  <sect2 role="package">
     19    <title/>
     20
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/glibc.xml"
     23    xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     24
     25    <segmentedlist>
     26      <segtitle>&buildtime;</segtitle>
     27      <segtitle>&diskspace;</segtitle>
     28
     29      <seglistitem>
     30        <seg>11.8 SBU</seg>
     31        <seg>454 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
     34
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/glibc.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Glibc</title>
     43
     44    <para>The Glibc documentation recommends building Glibc outside of the source
     45    directory in a dedicated build directory:</para>
    3246
    3347<screen><userinput>mkdir -v ../glibc-build
    3448cd ../glibc-build</userinput></screen>
    3549
    36 <para>Next, prepare Glibc for compilation:</para>
     50    <para>Next, prepare Glibc for compilation:</para>
    3751
    3852<screen><userinput>../glibc-&glibc-version;/configure --prefix=/tools \
     
    4256    --without-selinux</userinput></screen>
    4357
    44 <para>The meaning of the configure options:</para>
    45 
    46 <variablelist>
    47 <varlistentry>
    48 <term><parameter>--disable-profile</parameter></term>
    49 <listitem><para>This builds the libraries without profiling
    50 information. Omit this option if profiling on the temporary tools is
    51 necessary.</para></listitem>
    52 </varlistentry>
    53 
    54 <varlistentry>
    55 <term><parameter>--enable-add-ons</parameter></term>
    56 <listitem><para>This tells Glibc to use the NPTL add-on as its threading
    57 library.</para></listitem>
    58 </varlistentry>
    59 
    60 <varlistentry>
    61 <term><parameter>--enable-kernel=2.6.0</parameter></term>
    62 <listitem><para>This tells Glibc to compile the library with support
    63 for 2.6.x Linux kernels.</para></listitem>
    64 </varlistentry>
    65 
    66 <varlistentry>
    67 <term><parameter>--with-binutils=/tools/bin</parameter></term>
    68 <listitem><para>While not required, this switch ensures that there are
    69 no errors pertaining to which Binutils programs get used during the
    70 Glibc build.</para></listitem>
    71 </varlistentry>
    72 
    73 <varlistentry>
    74 <term><parameter>--without-gd</parameter></term>
    75 <listitem><para>This prevents the build of the
    76 <command>memusagestat</command> program, which insists on linking
    77 against the host's libraries (libgd, libpng, libz,
    78 etc.).</para></listitem>
    79 </varlistentry>
    80 
    81 <varlistentry>
    82 <term><parameter>--with-headers=/tools/include</parameter></term>
    83 <listitem><para>This tells Glibc to compile itself against the headers recently
    84 installed to the tools directory, so that it knows exactly what features the
    85 kernel has and can optimize itself accordingly.</para></listitem>
    86 </varlistentry>
    87 
    88 <varlistentry>
    89 <term><parameter>--without-selinux</parameter></term>
    90 <listitem><para>When building from hosts that include SELinux functionality
    91 (e.g., Fedora Core 3), Glibc will build with support for SELinux. As the LFS
    92 tools environment does not contain support for SELinux, a Glibc compiled with
    93 such support will fail to operate correctly.</para></listitem>
    94 </varlistentry>
    95 </variablelist>
    96 
    97 <para>During this stage the following warning might appear:</para>
    98 
    99 <blockquote><screen><computeroutput>configure: WARNING:
    100 *** These auxiliary programs are missing or
     58    <variablelist>
     59      <title>The meaning of the configure options:</title>
     60
     61      <varlistentry>
     62        <term><parameter>--disable-profile</parameter></term>
     63        <listitem>
     64          <para>This builds the libraries without profiling information. Omit
     65          this option if profiling on the temporary tools is necessary.</para>
     66        </listitem>
     67      </varlistentry>
     68
     69      <varlistentry>
     70        <term><parameter>--enable-add-ons</parameter></term>
     71        <listitem>
     72          <para>This tells Glibc to use the NPTL add-on as its threading
     73          library.</para>
     74        </listitem>
     75      </varlistentry>
     76
     77      <varlistentry>
     78        <term><parameter>--enable-kernel=2.6.0</parameter></term>
     79        <listitem>
     80          <para>This tells Glibc to compile the library with support
     81          for 2.6.x Linux kernels.</para>
     82        </listitem>
     83      </varlistentry>
     84
     85      <varlistentry>
     86        <term><parameter>--with-binutils=/tools/bin</parameter></term>
     87        <listitem>
     88          <para>While not required, this switch ensures that there are
     89          no errors pertaining to which Binutils programs get used during the
     90          Glibc build.</para>
     91        </listitem>
     92      </varlistentry>
     93
     94      <varlistentry>
     95        <term><parameter>--without-gd</parameter></term>
     96        <listitem>
     97          <para>This prevents the build of the <command>memusagestat</command>
     98          program, which insists on linking against the host's libraries
     99          (libgd, libpng, libz, etc.).</para>
     100        </listitem>
     101      </varlistentry>
     102
     103      <varlistentry>
     104        <term><parameter>--with-headers=/tools/include</parameter></term>
     105        <listitem>
     106          <para>This tells Glibc to compile itself against the headers recently
     107          installed to the tools directory, so that it knows exactly what
     108          features the kernel has and can optimize itself accordingly.</para>
     109        </listitem>
     110      </varlistentry>
     111
     112      <varlistentry>
     113        <term><parameter>--without-selinux</parameter></term>
     114        <listitem>
     115          <para>When building from hosts that include SELinux functionality
     116          (e.g., Fedora Core 3), Glibc will build with support for SELinux.
     117          As the LFS tools environment does not contain support for SELinux, a
     118          Glibc compiled with such support will fail to operate correctly.</para>
     119        </listitem>
     120      </varlistentry>
     121
     122    </variablelist>
     123
     124    <para>During this stage the following warning might appear:</para>
     125
     126    <blockquote>
     127<screen><computeroutput>configure: WARNING:
     128*** These auxiliary programs are missing or
    101129*** incompatible versions: msgfmt
    102130*** some features will be disabled.
    103 *** Check the INSTALL file for required versions.</computeroutput></screen></blockquote>
    104 
    105 <para>The missing or incompatible <command>msgfmt</command> program is
    106 generally harmless, but it can sometimes cause issues when running the
    107 test suite. This <command>msgfmt</command> program is part of the
    108 Gettext package which the host distribution should provide. If
    109 <command>msgfmt</command> is present but deemed incompatible, upgrade
    110 the host system's Gettext package or continue without it and see if
    111 the test suite runs without problems regardless.</para>
    112 
    113 <para>Compile the package:</para>
     131*** Check the INSTALL file for required versions.</computeroutput></screen>
     132    </blockquote>
     133
     134    <para>The missing or incompatible <command>msgfmt</command> program is
     135    generally harmless, but it can sometimes cause issues when running the
     136    test suite. This <command>msgfmt</command> program is part of the
     137    Gettext package which the host distribution should provide. If
     138    <command>msgfmt</command> is present but deemed incompatible, upgrade
     139    the host system's Gettext package or continue without it and see if
     140    the test suite runs without problems regardless.</para>
     141
     142    <para>Compile the package:</para>
    114143
    115144<screen><userinput>make</userinput></screen>
    116145
    117 <para>Compilation is now complete. As mentioned earlier, running the
    118 test suites for the temporary tools installed in this chapter is not
    119 mandatory. To run the Glibc test suite (if desired), the following
    120 command will do so:</para>
     146    <para>Compilation is now complete. As mentioned earlier, running the
     147    test suites for the temporary tools installed in this chapter is not
     148    mandatory. To run the Glibc test suite (if desired), the following
     149    command will do so:</para>
    121150
    122151<screen><userinput>make check</userinput></screen>
    123152
    124 <para>For a discussion of test failures that are of particular
    125 importance, please see <xref linkend="ch-system-glibc" role="."/></para>
    126 
    127 <para>In this chapter, some tests can be adversely affected by
    128 existing tools or environmental issues on the host system. Glibc test
    129 suite failures in this chapter are typically not worrisome. The Glibc
    130 installed in <xref linkend="chapter-building-system"/> is the one that
    131 will ultimately end up being used, so that is the one that needs to pass
    132 most tests (even in <xref linkend="chapter-building-system"/>, some
    133 failures could still occur, for example, with the math tests).</para>
    134 
    135 <para>When experiencing a failure, make a note of it, then continue by
    136 reissuing the <command>make check</command> command. The test suite should pick up where it left
    137 off and continue. This stop-start sequence can be circumvented by
    138 issuing a <command>make -k check</command> command. If using this option, be sure to log the
    139 output so that the log file can be examined for failures later.</para>
    140 
    141 <para>The install stage of Glibc will issue a harmless warning at the
    142 end about the absence of <filename>/tools/etc/ld.so.conf</filename>.
    143 Prevent this warning with:</para>
     153    <para>For a discussion of test failures that are of particular
     154    importance, please see <xref linkend="ch-system-glibc" role="."/></para>
     155
     156    <para>In this chapter, some tests can be adversely affected by
     157    existing tools or environmental issues on the host system. Glibc test
     158    suite failures in this chapter are typically not worrisome. The Glibc
     159    installed in <xref linkend="chapter-building-system"/> is the one that
     160    will ultimately end up being used, so that is the one that needs to pass
     161    most tests (even in <xref linkend="chapter-building-system"/>, some
     162    failures could still occur, for example, with the math tests).</para>
     163
     164    <para>When experiencing a failure, make a note of it, then continue by
     165    reissuing the <command>make check</command> command. The test suite
     166    should pick up where it left off and continue. This stop-start sequence
     167    can be circumvented by issuing a <command>make -k check</command> command.
     168    If using this option, be sure to log the output so that the log file can
     169    be examined for failures later.</para>
     170
     171    <para>The install stage of Glibc will issue a harmless warning at the
     172    end about the absence of <filename>/tools/etc/ld.so.conf</filename>.
     173    Prevent this warning with:</para>
    144174
    145175<screen><userinput>mkdir -v /tools/etc
    146176touch /tools/etc/ld.so.conf</userinput></screen>
    147177
    148 <para>Install the package:</para>
     178    <para>Install the package:</para>
    149179
    150180<screen><userinput>make install</userinput></screen>
    151181
    152 <para>Different countries and cultures have varying conventions for
    153 how to communicate. These conventions range from the format for
    154 representing dates and times to more complex issues, such as the
    155 language spoken. The <quote>internationalization</quote> of GNU
    156 programs works by locale.</para>
    157 
    158 <note><para>If the test suites are not being run in this chapter (as
    159 per the recommendation), there is no need to install the locales now.
    160 The appropriate locales will be installed in the next
    161 chapter. To install the Glibc locales anyway, use instructions from
    162 <xref linkend="ch-system-glibc" role="."/>
    163 </para></note>
    164 
    165 </sect2>
    166 
    167 <sect2 role="content"><title/>
    168 <para>Details on this package are located in <xref
    169 linkend="contents-glibc" role="."/></para>
    170 </sect2>
     182    <para>Different countries and cultures have varying conventions for
     183    how to communicate. These conventions range from the format for
     184    representing dates and times to more complex issues, such as the
     185    language spoken. The <quote>internationalization</quote> of GNU
     186    programs works by locale.</para>
     187
     188    <note>
     189      <para>If the test suites are not being run in this chapter (as per
     190      the recommendation), there is no need to install the locales now.
     191      The appropriate locales will be installed in the next chapter.
     192      To install the Glibc locales anyway, use instructions from
     193      <xref linkend="ch-system-glibc" role="."/></para>
     194    </note>
     195
     196  </sect2>
     197
     198  <sect2 role="content">
     199    <title/>
     200
     201    <para>Details on this package are located in
     202    <xref linkend="contents-glibc" role="."/></para>
     203
     204  </sect2>
    171205
    172206</sect1>
    173 
  • chapter05/grep.xml

    rf658b21 rd096eb1  
    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-grep" role="wrap">
    7 <title>Grep-&grep-version;</title>
    8 <?dbhtml filename="grep.html"?>
     9  <?dbhtml filename="grep.html"?>
    910
    10 <indexterm zone="ch-tools-grep">
    11 <primary sortas="a-Grep">Grep</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Grep-&grep-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/grep.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-grep">
     14    <primary sortas="a-Grep">Grep</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.1 SBU</seg><seg>4.5 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/grep.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/grep.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 Grep</title>
     29      <seglistitem>
     30        <seg>0.1 SBU</seg>
     31        <seg>4.5 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>Prepare Grep for compilation:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/grep.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Grep</title>
     43
     44    <para>Prepare Grep for compilation:</para>
    3145
    3246<screen><userinput>./configure --prefix=/tools \
    3347    --disable-perl-regexp</userinput></screen>
    3448
    35 <para>The meaning of the configure options:</para>
     49    <variablelist>
     50      <title>The meaning of the configure options:</title>
    3651
    37 <variablelist>
    38 <varlistentry>
    39 <term><parameter>--disable-perl-regexp</parameter></term>
    40 <listitem><para>This ensures that the <command>grep</command> program does not
    41 get linked against a Perl Compatible Regular Expression (PCRE) library that may
    42 be present on the host but will not be available once we enter the
    43 <command>chroot</command> environment.</para></listitem>
    44 </varlistentry>
    45 </variablelist>
     52      <varlistentry>
     53        <term><parameter>--disable-perl-regexp</parameter></term>
     54        <listitem>
     55          <para>This ensures that the <command>grep</command> program does
     56          not get linked against a Perl Compatible Regular Expression (PCRE)
     57          library that may be present on the host but will not be available
     58          once we enter the <command>chroot</command> environment.</para>
     59        </listitem>
     60      </varlistentry>
    4661
    47 <para>Compile the package:</para>
     62    </variablelist>
     63
     64    <para>Compile the package:</para>
    4865
    4966<screen><userinput>make</userinput></screen>
    5067
    51 <para>To test the results, issue: <userinput>make check</userinput>.</para>
     68    <para>To test the results, issue:
     69    <userinput>make check</userinput>.</para>
    5270
    53 <para>Install the package:</para>
     71    <para>Install the package:</para>
    5472
    5573<screen><userinput>make install</userinput></screen>
    5674
    57 </sect2>
     75  </sect2>
    5876
    59 <sect2 role="content"><title/>
    60 <para>Details on this package are located in <xref
    61 linkend="contents-grep" role="."/></para>
    62 </sect2>
     77  <sect2 role="content">
     78    <title/>
     79
     80    <para>Details on this package are located in
     81    <xref linkend="contents-grep" role="."/></para>
     82
     83  </sect2>
    6384
    6485</sect1>
    65 
  • chapter05/gzip.xml

    rf658b21 rd096eb1  
    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-gzip" role="wrap">
    7 <title>Gzip-&gzip-version;</title>
    8 <?dbhtml filename="gzip.html"?>
     9  <?dbhtml filename="gzip.html"?>
    910
    10 <indexterm zone="ch-tools-gzip">
    11 <primary sortas="a-Gzip">Gzip</primary>
    12 <secondary>tools</secondary></indexterm>
     11  <title>Gzip-&gzip-version;</title>
    1312
    14 <sect2 role="package"><title/>
    15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="../chapter06/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/para[1])"/>
     13  <indexterm zone="ch-tools-gzip">
     14    <primary sortas="a-Gzip">Gzip</primary>
     15    <secondary>tools</secondary>
     16  </indexterm>
    1617
    17 <segmentedlist>
    18 <segtitle>&buildtime;</segtitle>
    19 <segtitle>&diskspace;</segtitle>
    20 <seglistitem><seg>0.1 SBU</seg><seg>2.2 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/gzip.xml" xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     21    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     22    href="../chapter06/gzip.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 Gzip</title>
     29      <seglistitem>
     30        <seg>0.1 SBU</seg>
     31        <seg>2.2 MB</seg>
     32      </seglistitem>
     33    </segmentedlist>
    2934
    30 <para>Prepare Gzip for compilation:</para>
     35    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"
     36    href="../chapter06/gzip.xml"
     37    xpointer="xpointer(/sect1/sect2[1]/segmentedlist[2])"/>
     38
     39  </sect2>
     40
     41  <sect2 role="installation">
     42    <title>Installation of Gzip</title>
     43
     44    <para>Prepare Gzip 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>This package does not come with a test suite.</para>
     52    <para>This package does not come with a test suite.</para>
    3953
    40 <para>Install the package:</para>
     54    <para>Install the package:</para>
    4155
    4256<screen><userinput>make install</userinput></screen>
    4357
    44 </sect2>
     58  </sect2>
    4559
    46 <sect2 role="content"><title/>
    47 <para>Details on this package are located in <xref
    48 linkend="contents-gzip" role="."/></para>
    49 </sect2>
     60  <sect2 role="content">
     61    <title/>
     62
     63    <para>Details on this package are located in
     64    <xref linkend="contents-gzip" role="."/></para>
     65
     66  </sect2>
    5067
    5168</sect1>
    52 
Note: See TracChangeset for help on using the changeset viewer.