6.59. Installing GCC-2.95.3

Estimated build time:           1.5 SBU
Estimated required disk space:  130 MB

6.59.1.

6.59.2. Installation of GCC

This package is known to behave badly when you have changed its default optimization flags (including the -march and -mcpu options). Therefore, if you have defined any environment variables that override default optimizations, such as CFLAGS and CXXFLAGS, we recommend unsetting or modifying them when building GCC.

This is an older release of GCC which we are going to install for the purpose of compiling the Linux kernel in Chapter 8. This version is recommended by the kernel developers when you need absolute stability. Later versions of GCC have not received as much testing for Linux kernel compilation. Using a later version is likely to work, however, we recommend adhering to the kernel developer's advice and using the version here to compile your kernel.

Note

We don't install the C++ compiler or libraries here. However, there may be reasons why you would want to install them. More information can be found at http://www.linuxfromscratch.org/blfs/view/stable/general/gcc2.html.

We'll install this older release of GCC into the non-standard prefix of /opt so as to avoid interfering with the system GCC already installed in /usr .

Apply the patches and make a small adjustment:

patch -Np1 -i ../gcc-2.95.3-2.patch
patch -Np1 -i ../gcc-2.95.3-no-fixinc.patch
patch -Np1 -i ../gcc-2.95.3-returntype-fix.patch
echo timestamp > gcc/cstamp-h.in

The GCC documentation recommends building GCC outside of the source directory in a dedicated build directory:

mkdir ../gcc-2-build
cd ../gcc-2-build

Compile and install the compiler:

../gcc-2.95.3/configure --prefix=/opt/gcc-2.95.3 \
    --enable-shared --enable-languages=c \
    --enable-threads=posix
make bootstrap
make install