Changeset bea9517

Feb 21, 2006, 2:04:25 AM (16 years ago)
Jim Gifford <clfs@…>

r1023@server (orig r1021): chris | 2006-01-08 00:36:31 -0800
Rewrote description of build process and test suite info, and added mention of test suites to some packages.

1 added
12 edited


  • final-preps/abouttestsuites.xml

    r4799507 rbea9517  
    1111  <title>About the Test Suites</title>
    13   <para>TO BE REWRITTEN (and maybe moved to final-system chapter)</para>
    1513  <para>Most packages provide a test suite. Running the test suite for a
    1614  newly built package is a good idea because it can provide a <quote>sanity
    2018  that the package is totally bug free.</para>
    22   <para>Some test suites are more important than others. For example,
    23   the test suites for the core toolchain packages&mdash;GCC, Binutils, and
    24   Glibc&mdash;are of the utmost importance due to their central role in a
    25   properly functioning system. The test suites for GCC and Glibc can
    26   take a very long time to complete, especially on slower hardware, but
    27   are strongly recommended.</para>
    29   <note>
    30     <para>It is not possible to run testsuites when cross-compiling, so there
    31     are no instructions given for running testsuites until
    32     <xref linkend="chapter-building-system"/>.</para>
    33   </note>
    35   <para>A common issue with running the test suites for Binutils and GCC
    36   is running out of pseudo terminals (PTYs). This can result in a high
    37   number of failing tests. This may happen for several reasons, but the
    38   most likely cause is that the host system does not have the
    39   <systemitem class="filesystem">devpts</systemitem> file system set up
    40   correctly. This issue is discussed in greater detail at
    41   <ulink url=""/>.</para>
    43   <para>Sometimes package test suites will fail, but for reasons which the
    44   developers are aware of and have deemed non-critical. Consult the logs located
    45   at <ulink url="&test-results;"/> to verify whether or not these failures are
    46   expected. This site is valid for all tests throughout this book.</para>
     20  <para>It is not possible to run testsuites when cross-compiling, so package installation instructions do not explain how to run testsuites until <xref linkend="chapter-building-system"/>.</para>
  • final-system/common/groff.xml

    r4799507 rbea9517  
    4848<screen os="e"><userinput>make</userinput></screen>
    50     <para os="f">Install the package:</para>
    52 <screen os="g"><userinput>make install</userinput></screen>
    54     <para os="h">Some documentation programs, such as <command>xman</command>,
     50    <para os="f">This package does not come with a test suite.</para>
     52    <para os="g">Install the package:</para>
     54<screen os="h"><userinput>make install</userinput></screen>
     56    <para os="i">Some documentation programs, such as <command>xman</command>,
    5557    will not work properly without the following symlinks:</para>
    57 <screen os="i"><userinput>ln -s soelim /usr/bin/zsoelim
     59<screen os="j"><userinput>ln -s soelim /usr/bin/zsoelim
    5860ln -s eqn /usr/bin/geqn
    5961ln -s tbl /usr/bin/gtbl</userinput></screen>
  • final-system/common/iana-etc.xml

    r4799507 rbea9517  
    4040<screen os="b"><userinput>make</userinput></screen>
    42     <para os="c">Install the package:</para>
     42    <para os="c">This package does not come with a test suite.</para>
    44 <screen os="d"><userinput>make install</userinput></screen>
     44    <para os="d">Install the package:</para>
     46<screen os="e"><userinput>make install</userinput></screen>
    4648  </sect2>
  • final-system/common/less.xml

    r4799507 rbea9517  
    5555<screen os="e"><userinput>make</userinput></screen>
    57     <para os="f">Install the package:</para>
     57    <para os="f">This package does not come with a test suite.</para>
    59 <screen os="g"><userinput>make install</userinput></screen>
     59    <para os="g">Install the package:</para>
    61     <para os="h">Move less to /bin:</para>
     61<screen os="h"><userinput>make install</userinput></screen>
    63 <screen os="i"><userinput>mv /usr/bin/less /bin</userinput></screen>
     63    <para os="i">Move less to /bin:</para>
     65<screen os="j"><userinput>mv /usr/bin/less /bin</userinput></screen>
    6567  </sect2>
  • final-system/common/readline.xml

    r4799507 rbea9517  
    6060    </variablelist>
    62     <para os="h">Install the package:</para>
     62    <para os="h">This package does not come with a test suite.</para>
    64 <screen os="i"><userinput>make install</userinput></screen>
     64    <para os="i">Install the package:</para>
    66     <para os="j">Give Readline's dynamic libraries more appropriate
     66<screen os="j"><userinput>make install</userinput></screen>
     68    <para os="k">Give Readline's dynamic libraries more appropriate
    6769    permissions:</para>
    69 <screen os="k"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
     71<screen os="l"><userinput>chmod 755 /lib/lib{readline,history}.so*</userinput></screen>
    71     <para os="l">Now move the static libraries to a more appropriate location:</para>
     73    <para os="m">Now move the static libraries to a more appropriate location:</para>
    73 <screen os="m"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
     75<screen os="n"><userinput>mv /lib/lib{readline,history}.a /usr/lib</userinput></screen>
    75     <para os="n">Next, remove the <filename class="extension">.so</filename>
     77    <para os="o">Next, remove the <filename class="extension">.so</filename>
    7678    files in <filename class="directory">/lib</filename> and relink them into
    7779    <filename class="directory">/usr/lib</filename>.</para>
    79 <screen os="o"><userinput>rm /lib/lib{readline,history}.so
     81<screen os="p"><userinput>rm /lib/lib{readline,history}.so
    8082ln -sf ../../lib/ /usr/lib/
    8183ln -sf ../../lib/ /usr/lib/</userinput></screen>
  • final-system/multilib/groff.xml

    r4799507 rbea9517  
    5757    xpointer="xpointer(//*[@os='i'])"/>
     59    <xi:include xmlns:xi=""
     60    href="../common/groff.xml"
     61    xpointer="xpointer(//*[@os='j'])"/>
    5963  </sect2>
  • final-system/multilib/less.xml

    r4799507 rbea9517  
    5757    xpointer="xpointer(//*[@os='i'])"/>
     59    <xi:include xmlns:xi=""
     60    href="../common/less.xml"
     61    xpointer="xpointer(//*[@os='j'])"/>
    5963  </sect2>
  • final-system/multilib/readline-n32.xml

    r4799507 rbea9517  
    5858    xpointer="xpointer(//*[@os='j'])"/>
     60    <xi:include xmlns:xi=""
     61    href="readline.xml"
     62    xpointer="xpointer(//*[@os='k'])"/>
    6065<screen os="k"><userinput>chmod 755 /lib32/lib{readline,history}.so*</userinput></screen>
    6267    <xi:include xmlns:xi=""
    6368    href="readline.xml"
    64     xpointer="xpointer(//*[@os='l'])"/>
     69    xpointer="xpointer(//*[@os='m'])"/>
    6671<screen os="m"><userinput>mv /lib32/lib{readline,history}.a /usr/lib32</userinput></screen>
  • final-system/multilib/readline.xml

    r4799507 rbea9517  
    8282    xpointer="xpointer(//*[@os='o'])"/>
     84    <xi:include xmlns:xi=""
     85    href="../common/readline.xml"
     86    xpointer="xpointer(//*[@os='p'])"/>
    8487  </sect2>
  • final-system/x86-chapter.xml

    r4799507 rbea9517  
    1414  <xi:include xmlns:xi="" href="common/introduction.xml"/>
     15  <xi:include xmlns:xi="" href="common/testsuitesagain.xml"/>
    1516  <xi:include xmlns:xi="" href="x86/linux-libc-headers.xml"/>
    1617  <xi:include xmlns:xi="" href="common/glibc.xml"/>
  • introduction/common/changelog.xml

    r4799507 rbea9517  
    3939    <listitem>
     40      <para>January 8, 2006</para>
     41      <itemizedlist>
     42        <listitem>
     43          <para>[Chris] - Rewrote much of the description of the build
     44process and test suite information.</para>
     45        </listitem>
     46      </itemizedlist>
     47    </listitem>
     50    <listitem>
    4051      <para>January 3, 2006</para>
    4152      <itemizedlist>
  • introduction/common/how.xml

    r4799507 rbea9517  
    4343  beyond.</para>
    45   <para><xref linkend="chapter-temp-system"/> explains the
    46   installation of a number of packages that will form the basic
    47   development suite (or toolchain) which is used to build the actual
    48   system in <xref linkend="chapter-building-system"/>. Some of these
    49   packages are needed to resolve circular dependencies&mdash;for example,
    50   to compile a compiler, you need a compiler.</para>
     45  <para><xref linkend="chapter-cross-tools"/> explains the installation of
     46  cross-compile tools which will be built on the host but be able to compile
     47  programs that run on the target machine. These cross-compile tools will
     48  be used to create a temporary, minimal system that will be the basis for
     49  building the final LFS system. Some of these packages are needed to resolve
     50  circular dependencies&mdash;for example, to compile a compiler, you need a
     51  compiler.</para>
    52   <para><xref linkend="chapter-temp-system"/> also shows the user
    53   how to build a first pass of the toolchain, including Binutils and GCC
    54   (first pass basically means these two core packages will be re-installed
    55   a second time). The next step is to build Glibc, the C library. Glibc
    56   will be compiled by the toolchain programs built in the first pass. Then,
    57   a second pass of the toolchain will be built. This time, the toolchain
    58   will be dynamically linked against the newly built Glibc. The remaining
    59   <xref linkend="chapter-temp-system"/> packages are built using this
    60   second pass toolchain. When this is done, the LFS installation process
    61   will no longer depend on the host distribution, with the exception of the
    62   running kernel. </para>
     53  <para>The process of building cross-compile tools first involves installing
     54  binutils into /cross-tools, so that the linker can be used with the building
     55  of everything else in the temp-system. GCC is then compiled statically and
     56  installed into /cross-tools, and this cross-compiler is used to build glibc
     57  into /tools for the temp-system. The GCC cross-compiler is then rebuilt
     58  dynamically - this final cross-compiler is what will be used to build the
     59  rest of the temporary system. When this is done, the CLFS installation
     60  process will no longer depend on the host distribution, with the exception
     61  of the running kernel.
     62  <!-- still needs some work - needs to provide a better technical
     63explanation, especially the reasoning for compiling gcc statically then dynamically... --></para>
     65  <para>The packages in <xref linkend="chapter-temp-system"/> are then built
     66  using the cross-compiled tools in /cross-tools, and linked against the
     67  C library that was installed during the building of the cross-tools.</para>
    6469  <para>This effort to isolate the new system from the host distribution
    6873  <para>In <xref linkend="chapter-building-system"/>, the full LFS system is
    69   built. The <command>chroot</command> (change root) program is used to enter
     74  built. Depending on the system you are cross-compiling for, either you will
     75  boot the minimal temp-system on the target machine, or chroot into it.</para>
     77  <para>The <command>chroot</command> (change root) program is used to enter
    7078  a virtual environment and start a new shell whose root directory will be set
    7179  to the LFS partition. This is very similar to rebooting and instructing the
    72   kernel to mount the LFS partition as the root partition. The system does not
    73   actually reboot, but instead <command>chroot</command>'s because creating a
    74   bootable system requires additional work which is not necessary just yet.
     80  kernel to mount the LFS partition as the root partition.
    7581  The major advantage is that <quote>chrooting</quote> allows the builder to
    7682  continue using the host while LFS is being built. While waiting for package
    7783  compilation to complete, a user can switch to a different virtual console
    7884  (VC) or X desktop and continue using the computer as normal.</para>
     86  <para>Some systems cannot be built by chrooting so they must be booted instead. Generally, if you building for a different arch than the host system, you must reboot because the kernel will likely not support the target machine. Booting involves installing a few additional packages that are needed for bootup, installing bootscripts, and building a miminal kernel.</para>
    8088  <para>To finish the installation, the LFS-Bootscripts are set up in <xref
Note: See TracChangeset for help on using the changeset viewer.