Ignore:
Timestamp:
05/03/2004 10:59:46 AM (20 years ago)
Author:
Matthew Burgess <matthew@…>
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.0, 6.1, 6.1.1, 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, v5_1, v5_1_1, 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:
0c43171, 2ec64b3, a4a675f
Parents:
287ea55
Message:
  • Merged newxml into HEAD

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter05/gcc-pass2.xml

    r287ea55 r673b0d8  
     1<?xml version="1.0" encoding="ISO-8859-1"?>
     2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
     3  <!ENTITY % general-entities SYSTEM "../general.ent">
     4  %general-entities;
     5]>
    16<sect1 id="ch-tools-gcc-pass2">
    2 <title>Installing GCC-&gcc-version; - Pass 2</title>
    3 <?dbhtml filename="gcc-pass2.html" dir="chapter05"?>
     7<title>GCC-&gcc-version; - Pass 2</title>
     8<?dbhtml filename="gcc-pass2.html"?>
    49
    5 <screen>&buildtime; &gcc-time-tools-pass2;
    6 &diskspace; &gcc-compsize-tools-pass2;</screen>
     10<indexterm zone="ch-tools-gcc-pass2">
     11<primary sortas="a-GCC">GCC</primary>
     12<secondary>tools, pass 2</secondary></indexterm>
    713
    8 &aa-gcc-down;
    9 &aa-gcc-dep;
     14<screen>&buildtime; 11.0 SBU
     15&diskspace; 274 MB</screen>
    1016
    11 <sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>
    1217
    1318<sect2>
     
    3843to unpack both the core and the g++ tarballs (and testsuite too, if you want to
    3944run the tests). Unpacking them in your working directory, they will all unfold
    40 into a single <filename>&gcc-dir;/</filename> subdirectory.</para>
     45into a single <filename>gcc-&gcc-version;/</filename> subdirectory.</para>
    4146
    4247<para>First correct a problem and make an essential adjustment:</para>
    4348
    44 <screen><userinput>patch -Np1 -i ../&gcc-nofixincludes-patch;
    45 patch -Np1 -i ../&gcc-specs-patch;</userinput></screen>
     49<screen><userinput>patch -Np1 -i ../gcc-&gcc-version;-no_fixincludes-1.patch
     50patch -Np1 -i ../gcc-&gcc-version;-specs-1.patch</userinput></screen>
    4651
    47 <para>The first patch disables the GCC "fixincludes" script. We mentioned this
    48 briefly earlier, but a slightly more in-depth explanation of the fixincludes
    49 process is warranted here. Under normal circumstances, the GCC fixincludes
    50 script scans your system for header files that need to be fixed. It might find
    51 that some Glibc header files on your host system need to be fixed, fix them and
    52 put them in the GCC private include directory. Then, later on in
    53 <xref linkend="chapter-building-system"/>, after we've installed the newer Glibc, this
    54 private include directory would be searched before the system include
    55 directory, resulting in GCC finding the fixed headers from the host system,
    56 which would most likely not match the Glibc version actually used for the LFS
    57 system.</para>
     52<para>The first patch disables the GCC <quote>fixincludes</quote> script. We
     53mentioned this briefly earlier, but a slightly more in-depth explanation of
     54the fixincludes process is warranted here. Under normal circumstances, the GCC
     55fixincludes script scans your system for header files that need to be fixed. It
     56might find that some Glibc header files on your host system need to be fixed,
     57fix them and put them in the GCC private include directory. Then, later on in
     58<xref linkend="chapter-building-system"/>, after we've installed the newer
     59Glibc, this private include directory would be searched before the system
     60include directory, resulting in GCC finding the fixed headers from the host
     61system, which would most likely not match the Glibc version actually used for
     62the LFS system.</para>
    5863
    5964<para>The second patch changes GCC's default location of the dynamic linker
     
    7883<para>Now prepare GCC for compilation:</para>
    7984
    80 <screen><userinput>../&gcc-dir;/configure --prefix=/tools \
    81 &nbsp;&nbsp;&nbsp;&nbsp;--with-local-prefix=/tools \
    82 &nbsp;&nbsp;&nbsp;&nbsp;--enable-clocale=gnu --enable-shared \
    83 &nbsp;&nbsp;&nbsp;&nbsp;--enable-threads=posix --enable-__cxa_atexit \
    84 &nbsp;&nbsp;&nbsp;&nbsp;--enable-languages=c,c++</userinput></screen>
     85<screen><userinput>../gcc-&gcc-version;/configure --prefix=/tools \
     86    --with-local-prefix=/tools \
     87    --enable-clocale=gnu --enable-shared \
     88    --enable-threads=posix --enable-__cxa_atexit \
     89    --enable-languages=c,c++</userinput></screen>
    8590
    8691<para>The meaning of the new configure options:</para>
     
    129134a summary of the test suite results, run this:</para>
    130135 
    131 <screen><userinput>../&gcc-dir;/contrib/test_summary</userinput></screen>
     136<screen><userinput>../gcc-&gcc-version;/contrib/test_summary</userinput></screen>
    132137
    133138<para>(For just the summaries, pipe the output through
     
    147152<para>The unexpected pass for g++ is due to the use of
    148153<emphasis>--enable-__cxa_atexit</emphasis>. Apparently not all platforms
    149 supported by GCC have support for "__cxa_atexit" in their C libraries, so this
    150 test is not always expected to pass.</para>
     154supported by GCC have support for <quote>__cxa_atexit</quote> in their C
     155libraries, so this test is not always expected to pass.</para>
    151156
    152157<para>The 24 unexpected passes for libstdc++ are due to the use of
     
    161166<para>Having a few unexpected failures often cannot be avoided. The GCC
    162167developers are usually aware of these, but haven't yet gotten around to fixing
    163 them. In short, unless your results are vastly different from those at the
    164 above URL, it is safe to continue.</para>
     168them. One particular case in point is the filebuf_members test in the C++
     169standard library testsuite.  This test has been observed to fail in some
     170situations, but succeeed in others.  In short, unless your results are vastly
     171different from those at the above URL, it is safe to continue.</para>
    165172
    166173<para>And finally install the package:</para>
     
    176183</sect2>
    177184
    178 <sect2><title>&nbsp;</title><para>&nbsp;</para>
     185<sect2><title> </title><para> </para>
    179186<para>The details on this package are found in <xref linkend="contents-gcc"/>.</para>
    180 <para>&nbsp;</para></sect2>
     187<para> </para></sect2>
    181188
    182189</sect1>
    183 
Note: See TracChangeset for help on using the changeset viewer.