Changeset aefc822 for chapter07


Ignore:
Timestamp:
06/11/2020 05:55:06 AM (4 years ago)
Author:
Bruce Dubbs <bdubbs@…>
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, 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:
302d97a
Parents:
387a32af
Message:

Updates to the rest of cross2 Chapter 7.

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

Location:
chapter07
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • chapter07/bison.xml

    r387a32af raefc822  
    4646    <para>Prepare Bison for compilation:</para>
    4747
    48 <screen><userinput remap="configure">./configure --prefix=/usr                     \
     48<screen><userinput remap="configure">./configure --prefix=/usr \
    4949            --docdir=/usr/share/doc/bison-&bison-version;</userinput></screen>
    5050
     
    5656        <listitem>
    5757          <para>This tells the build system to install bison documentation
    58           into a versioned directory.</para>
     58          into a versioned directory.</para>
    5959        </listitem>
    6060      </varlistentry>
  • chapter07/dejagnu.xml

    r387a32af raefc822  
    5353<screen><userinput remap="install">make install
    5454install -v -dm755  /usr/share/doc/dejagnu-&dejagnu-version;
    55 install -v -m644   doc/dejagnu.{html,txt} \
    56                    /usr/share/doc/dejagnu-&dejagnu-version;</userinput></screen>
     55install -v -m644   doc/dejagnu.{html,txt} /usr/share/doc/dejagnu-&dejagnu-version;</userinput></screen>
    5756
    5857    <para>To test the results, issue:</para>
  • chapter07/expect.xml

    r387a32af raefc822  
    6363        <term><parameter>--with-tcl=/usr/lib</parameter></term>
    6464        <listitem>
    65           <para>This parameter is needed to tell the
     65          <para>This parameter is needed to tell
    6666          <command>configure</command> where the
    67           <command>tclConfig.sh</command> is located.</para>
     67          <command>tclConfig.sh</command> script is located.</para>
    6868        </listitem>
    6969      </varlistentry>
     
    7373        <listitem>
    7474          <para>This explicitly tells Expect where to find Tcl's internal
    75           headers. Using this option avoids conditions where
    76           <command>configure</command> fails because it cannot automatically
    77           discover the location of Tcl's headers.</para>
     75          headers.</para>
    7876        </listitem>
    7977      </varlistentry>
  • chapter07/gettext.xml

    r387a32af raefc822  
    6868<screen><userinput remap="make">make</userinput></screen>
    6969
    70     <para>Install the <command>msgfmt</command>, <command>msgmerge</command> and
     70    <para>Install the <command>msgfmt</command>, <command>msgmerge</command>, and
    7171    <command>xgettext</command> programs:</para>
    7272
     
    7878    <title/>
    7979
    80     <para>Details on this package are located in
    81     <xref linkend="contents-gettext" role="."/></para>
     80    <para>Details on this package are located in <xref linkend="contents-gettext" role="."/></para>
    8281
    8382  </sect2>
  • chapter07/libstdc++-pass2.xml

    r387a32af raefc822  
    2525    <title/>
    2626
    27     <para>Again, when building <xref linkend="ch-tools-gcc-pass2"/>, we had to
    28     defer the installation of the C++ standard library, because no suitable
    29     compiler was available to compile it: we could not use the compiler
    30     installed, because this compiler is a native
    31     compiler, and should not be used outside of chroot without being at
    32     risk of polluting the build with some host components.</para>
     27    <para>When building <xref linkend="ch-tools-gcc-pass2"/> we had to defer
     28    the installation of the C++ standard library because no suitable compiler
     29    was available to compile it. We could not use the compiler built in that
     30    section because it is a native compiler and should not be used outside of
     31    chroot and risk polluting the libraries with some host components.</para>
    3332
    3433    <segmentedlist>
     
    3635      <segtitle>&diskspace;</segtitle>
    3736
    38         <!-- TODO -->
    3937      <seglistitem>
    4038        <seg>&libstdcpp-ch5-sbu;</seg>
     
    5452    </note>
    5553
    56     <para>Create a link which exists when building Libstdc++ in the gcc
    57     tree:</para>
     54    <para>Create a link which exists when building libstdc++ in the gcc tree:</para>
    5855
    5956<screen><userinput remap="pre">ln -s gthr-posix.h libgcc/gthr-default.h</userinput></screen>
    6057
    61     <para>Create a separate build directory for Libstdc++ and enter it:</para>
     58    <para>Create a separate build directory for libstdc++ and enter it:</para>
    6259
    6360<screen><userinput remap="pre">mkdir -v build
    6461cd       build</userinput></screen>
    6562
    66     <para>Prepare Libstdc++ for compilation:</para>
     63    <para>Prepare libstdc++ for compilation:</para>
    6764
    6865<screen><userinput remap="configure">../libstdc++-v3/configure           \
     
    7976        <term><parameter>CXXFLAGS="-g -O2 -D_GNU_SOURCE"</parameter></term>
    8077        <listitem>
    81           <para>Those flags are passed by the top level Makefile when doing
    82           a full build of GCC.</para>
     78          <para>These flags are passed by the top level Makefile when doing
     79          a full build of GCC.</para>
    8380        </listitem>
    8481      </varlistentry>
     
    107104    <title/>
    108105
    109     <para>Details on this package are located in
    110     <xref linkend="contents-gcc" role="."/></para>
     106    <para>Details on this package are located in <xref linkend="contents-gcc" role="."/></para>
    111107
    112108  </sect2>
  • chapter07/perl.xml

    r387a32af raefc822  
    6161    </variablelist>
    6262
    63     <para>Build the package:</para>
     63    <para>Build and install the package:</para>
    6464
    6565<screen><userinput remap="make">make</userinput></screen>
     
    7272    <title/>
    7373
    74     <para>Details on this package are located in
    75     <xref linkend="contents-perl" role="."/></para>
     74    <para>Details on this package are located in <xref linkend="contents-perl" role="."/></para>
    7675
    7776  </sect2>
  • chapter07/python.xml

    r387a32af raefc822  
    8181    <title/>
    8282
    83     <para>Details on this package are located in
    84     <xref linkend="contents-python" role="."/></para>
     83    <para>Details on this package are located in <xref linkend="contents-python" role="."/></para>
    8584
    8685  </sect2>
  • chapter07/stripping.xml

    r387a32af raefc822  
    2929strip --strip-unneeded /tools/bin/*</userinput></screen>
    3030
    31     <para>These commands will skip a number of files, reporting that it does not
     31    <para>These commands will skip a number of files reporting that it does not
    3232    recognize their file format. Most of these are scripts instead of binaries.
    33     Note that we use the <command>strip</command> program built in
     33    <!--Note that we use the <command>strip</command> program built in
    3434    <quote>Binutils pass 1</quote>, since it is the one that knows how to strip
    35     our cross-compiled programs.</para>
    36   <!-- Normally, the host "strip" could be used too, since it is actually the
    37   same computer. But Some old versions of binutils may generate buggy crt1.o
    38   and the like, because they do not know about recently introduced symbol
    39   types. For more details,
    40   see https://sourceware.org/bugzilla/show_bug.cgi?id=22875-->
     35    our cross-compiled programs.--></para>
    4136
    42     <para>Take care <emphasis>not</emphasis> to use
     37    <para>Take care <emphasis>NOT</emphasis> to use
    4338    <parameter>--strip-unneeded</parameter> on the libraries. The static
    4439    ones would be destroyed and the toolchain packages would need to be
    4540    built all over again.</para>
    4641
    47     <para>To save more, remove the documentation:</para>
     42    <para>To save more space, remove the documentation:</para>
    4843
    4944<screen><userinput>rm -rf /usr/{,share}/{info,man,doc}</userinput></screen>
     
    5146    <para>The libtool .la files are only useful when linking with static
    5247    libraries. They are unneeded, and potentially harmful, when using dynamic
    53     shared libraries, specially when using also non-autotools build systems.
     48    shared libraries, specially when using non-autotools build systems.
    5449    Remove those files now:</para>
    5550
    5651<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen>
    5752
    58     <para>At this point, you should have at least 3 GB of free space in
    59     <envar>$LFS</envar> that can be used to build and install Glibc and Gcc in
     53    <para>At this point, you should have at least 5 GB of free space on the
     54    chroot partition that can be used to build and install Glibc and Gcc in
    6055    the next phase. If you can build and install Glibc, you can build and install
    61     the rest too.</para>
     56    the rest too. You can check the free disk space with the command
     57    <command>df -h /</command>.</para>
    6258
    6359  </sect2>
     
    7167      built packages, your temporary tools are in a good state and might be
    7268      backed up for later reuse. In case of fatal failures in the subsequent
    73       sections, it often turns out that removing everything and starting over
     69      chapters, it often turns out that removing everything and starting over
    7470      (more carefully) is the best option to recover. Unfortunatly, all the
    75       temporary tools will be removed, too. To avoid extra time to redo
     71      temporary tools will be removed, too. To avoid the extra time needed to redo
    7672      something which has been built successfully, prepare a backup.
    7773    </para>
     
    8480      chroot environment is required as the backup should be stored
    8581      outside of the <filename class="directory">$LFS</filename> directory
    86       but those cannot be accessed when in chroot. Leave chroot environment
     82      but those cannot be accessed when in chroot. Leave the chroot environment
    8783      and unmount the virtual kernel filesystems:
    8884    </para>
     
    9086<screen role="nodump"><userinput>exit
    9187umount $LFS/dev{/pts,}
    92 umount $LFS/{sys,proc,run}
    93 </userinput></screen>
     88umount $LFS/{sys,proc,run}</userinput></screen>
    9489
    9590    <para>Create the backup archive:</para>
     
    9994
    10095    <para>
    101       In case you have to start over as some mistakes has been made, you can
    102       use this backup to restore the temporary tools and save some time on
    103       the way to recover. Since the sources are located under
     96      In case some mistakes have been made and you need to start over, you can
     97      use this backup to restore the temporary tools and save some irecovery time.
     98      Since the sources are located under
    10499      <filename class="directory">$LFS</filename>, they are included in the
    105100      backup archive as well, so you need not to download them again. After
    106       checking that <filename class="directory">$LFS</filename> is set proper,
     101      checking that <filename class="directory">$LFS</filename> is set properly,
    107102      restore the backup by executing the following commands:
    108103    </para>
     
    114109
    115110    <para>
    116       Again, double check that the environment has been setup proper and
    117       continue building the rest of the system.
     111      Again, double check that the environment has been setup properly
     112      and continue building the rest of the system.
    118113    </para>
    119114
     
    123118      or restart building using a restore, remember to mount the
    124119      kernel virtual filesystems as described in <xref
    125       linkend='ch-tools-kernfs'/> and enter the
     120      linkend='ch-tools-kernfs'/> and re-enter the
    126121      chroot environment (see <xref
    127122      linkend='ch-tools-chroot'/>) again before continuing.</para>
  • chapter07/tcl.xml

    r387a32af raefc822  
    4646
    4747    <para>This package and the next two (Expect and DejaGNU) are
    48     installed to support running the test suites for GCC and Binutils and other
     48    installed to support running the test suites for GCC and binutils and other
    4949    packages.  Installing three packages for testing purposes may seem
    5050    excessive, but it is very reassuring, if not essential, to know that the
     
    7171        <listitem>
    7272          <para>The construct <parameter>$(&lt;shell command&gt;)</parameter>
    73           is replaced by the output of the chell command.  Here this output is
     73          is replaced by the output of the shell command.  Here this output is
    7474          empty if running on a 32 bit machine, and is
    7575          <parameter>--enable-64bit</parameter> if running on a 64 bit machine.
     
    101101unset SRCDIR</userinput></screen>
    102102
    103     <para>The various <quote>sed</quote> after the <quote>make</quote> command
    104     remove references to the build directory from various configuration files,
    105     and replaces them with the install directory. This is not mandatory
    106     for the remaining of LFS, but may be needed in case a package built later
    107     uses Tcl.</para>
     103    <para>The various <quote>sed</quote> instructions after the
     104    <quote>make</quote> command removes references to the build directory from
     105    the configuration files and replaces them with the install directory.
     106    This is not mandatory for the remainder of LFS, but may be needed in case a
     107    package built later uses Tcl.</para>
    108108
    109109    <para>Install the package:</para>
     
    116116<screen><userinput remap="install">chmod -v u+w /usr/lib/libtcl&tcl-major-version;.so</userinput></screen>
    117117
    118     <para>Install Tcl's headers. The next package, Expect, requires them
    119     to build.</para>
     118    <para>Install Tcl's headers. The next package, Expect, requires them.</para>
    120119
    121120<screen><userinput remap="install">make install-private-headers</userinput></screen>
     
    135134
    136135      <seglistitem>
    137         <seg>tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version;</seg>
    138         <seg>libtcl&tcl-major-version;.so, libtclstub&tcl-major-version;.a</seg>
     136        <seg>
     137          tclsh (link to tclsh&tcl-major-version;) and
     138          tclsh&tcl-major-version;
     139        </seg>
     140        <seg>
     141          libtcl&tcl-major-version;.so and
     142          libtclstub&tcl-major-version;.a
     143        </seg>
    139144      </seglistitem>
    140145    </segmentedlist>
  • chapter07/texinfo.xml

    r387a32af raefc822  
    6767    <title/>
    6868
    69     <para>Details on this package are located in
    70     <xref linkend="contents-texinfo" role="."/></para>
     69    <para>Details on this package are located in <xref linkend="contents-texinfo" role="."/></para>
    7170
    7271  </sect2>
  • chapter07/util-linux.xml

    r387a32af raefc822  
    4949    <para>Prepare Util-linux for compilation:</para>
    5050
    51 <screen><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \
     51<screen><userinput remap="configure">
     52./configure ADJTIME_PATH=/var/lib/hwclock/adjtime    \
    5253            --docdir=/usr/share/doc/util-linux-&util-linux-version; \
    5354            --disable-chfn-chsh  \
     
    6364    <variablelist>
    6465      <title>The meaning of the configure options:</title>
    65 <!-- TODO -->
     66
    6667      <varlistentry>
    6768        <term><parameter>ADJTIME_PATH=/var/lib/hwclock/adjtime</parameter></term>
    6869        <listitem>
    6970          <para>This sets the location of the file recording information about
    70           the hardware clock, in accordance to the FHS. This is not stricly
    71           needed fot his temporary tool, but it prevent creating a file
     71          the hardware clock in accordance to the FHS. This is not stricly
     72          needed for his temporary tool, but it prevents creating a file
    7273          at another location, which would not be overwritten or removed
    73           when building the final util-linux.</para>
     74          when building the final util-linux package.</para>
    7475        </listitem>
    7576      </varlistentry>
     
    7879        <term><parameter>--disable-*</parameter></term>
    7980        <listitem>
    80           <para>Those switches prevent warnings about building components
     81          <para>These switches prevent warnings about building components
    8182          that require packages not in LFS or not installed yet.</para>
    8283        </listitem>
     
    106107    <title/>
    107108
    108     <para>Details on this package are located in
    109     <xref linkend="contents-utillinux" role="."/></para>
     109    <para>Details on this package are located in <xref linkend="contents-utillinux" role="."/></para>
    110110
    111111  </sect2>
Note: See TracChangeset for help on using the changeset viewer.