Changeset 2ff1ab9 for chapter06/gcc-inst.xml
- Timestamp:
- 01/15/2003 04:06:56 PM (22 years ago)
- 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, 12.2, 12.2-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, v4_1, v5_0, 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/loongarch-12.2, xry111/mips64el, xry111/multilib, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- 819ef1bd
- Parents:
- 6ed843f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/gcc-inst.xml
r6ed843f r2ff1ab9 1 <sect2><title> </title><para> </para></sect2> 2 1 3 <sect2> 2 4 <title>Installation of GCC</title> … … 9 11 been warned.</para> 10 12 11 <para>Install GCC by running the following commands. These commands will 12 build the C and C++ compilers, so you'll need to unpack both the gcc-core 13 and gcc-g++ tarballs. Other compilers are available in the full gcc package; 14 instructions for building them may be found at 15 <ulink url="&blfs-root;view/cvs/general/gcc.html"/>.</para> 13 <para>We will be building the C and C++ compilers at this time, so you'll 14 need to unpack both the gcc-core and gcc-g++ tarballs. Other compilers are 15 available in the full gcc package; instructions for building them may be 16 found at <ulink url="&blfs-root;view/cvs/general/gcc.html"/>.</para> 17 18 <para>It is recommended by the GCC installation documentation to build GCC 19 in a dedicated directory outside of the source tree. Create the build 20 directory:</para> 16 21 17 22 <para><screen><userinput>mkdir ../gcc-build && 18 cd ../gcc-build && 19 ../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \ 23 cd ../gcc-build</userinput></screen></para> 24 25 <para>Prepare GCC to be compiled:</para> 26 27 <para><screen><userinput>../gcc-&gcc-version;/configure --prefix=/usr --enable-shared \ 20 28 --enable-threads=posix --with-slibdir=/lib \ 21 --enable-__cxa_atexit --enable-clocale=gnu && 22 make bootstrap && 23 make install && 24 ln -s ../usr/bin/cpp /lib && 25 ln -s ../bin/cpp /usr/lib && 26 ln -s gcc /usr/bin/cc</userinput></screen></para> 29 --enable-__cxa_atexit --enable-clocale=gnu</userinput></screen></para> 30 31 <para>The meanings of the configure options are:</para> 32 33 <itemizedlist> 34 <listitem><para><userinput>--enable-threads=posix:</userinput> This enables 35 C++ exception handling for multi-threaded code.</para></listitem> 36 37 <listitem><para><userinput>--enable-__cxa_atexit:</userinput> This option 38 will result in C++ shared libraries and C++ programs that are interoperable 39 with other Linux distributions.</para></listitem> 40 41 <listitem><para><userinput>--enable-clocale=gnu:</userinput> There is a risk 42 that some people will build ABI incompatible C++ libraries if they didn't 43 install all of the glibc localedata. Using --enable-clocale=gnu ensures that 44 the "right thing" is done in all cases. If you don't wish to use this option, 45 then at least build the <emphasis>de_DE</emphasis> locale. When GCC finds 46 this specific locale, then the correct locale mode (<emphasis>gnu</emphasis>) 47 is implemented.</para></listitem> 48 </itemizedlist> 49 50 <para>Continue with compiling the package:</para> 51 52 <para><screen><userinput>make bootstrap</userinput></screen></para> 53 54 <para>The <emphasis>bootstrap</emphasis> target doesn't just compile GCC, but 55 it compiles GCC a multiple times. It uses the first compiled programs to 56 compile itself a second and third time to make sure the compiler was compiled 57 properly.</para> 58 59 <para>Finish installing the package:</para> 60 61 <para><screen><userinput>make install</userinput></screen></para> 62 63 <para>Some packages require that the C++ compiler be installed in the 64 <filename>/lib</filename> and <filename>/usr/lib</filename> directories. 65 To honor those packages, create two symlinks:</para> 66 67 <para><screen><userinput>ln -s ../usr/bin/cpp /lib && 68 ln -s ../bin/cpp /usr/lib</userinput></screen></para> 69 70 <para>Many packages compile using <emphasis>cc</emphasis> as the name for 71 the C compiler. To satisfy those packages, create a <emphasis>cc</emphasis> 72 symlink:</para> 73 74 <para><screen><userinput>ln -s gcc /usr/bin/cc</userinput></screen></para> 27 75 28 76 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.