Installing GCC on the LFS system

Installation of GCC on the LFS system

After you unpacked the gcc-2.95.2 archive don't enter the newly created gcc-2.95.2 directory but stay in the $LFS/usr/src directory. Install GCC by running the following commands:

root:src# mkdir $LFS/usr/src/gcc-build
root:src# cd $LFS/usr/src/gcc-build
root:gcc-build# ../gcc-2.95.2/configure --prefix=/usr \
> --with-gxx-include-dir=/usr/include/g++ \
> --enable-languages=c,c++ --disable-nls
root:gcc-build# make -e LDFLAGS=-static bootstrap
root:gcc-build# make prefix=$LFS/usr local_prefix=$LFS/usr/local \
> gxx_include_dir=$LFS/usr/include/g++ install

Creating necessary symlinks

The system needs a few symlinks to ensure every program is able to find the compiler and the pre-processor. Some programs run the cc program, others run the gcc program. Some programs expect the cpp program in /lib and others expect to find it in /usr/bin. Create those symlinks by running:

Replace <host> with the directory where the gcc-2.95.2 files are installed (which is i686-unknown-linux in my case). Create the symlinks by running:

root:~# cd $LFS/lib
root:lib# ln -s ../usr/lib/gcc-lib/<host>/2.95.2/cpp cpp
root:lib# cd $LFS/usr/lib
root:lib# ln -s gcc-lib/<host>/2.95.2/cpp cpp
root:lib# cd $LFS/usr/bin
root:bin# ln -s gcc cc


The GCC package contains compilers, preprocessors and the GNU C++ Library.



A compiler translates source code in text format to a format that a computer understands. After a source code file is compiled into an object file, a linker will create an executable file from one or more of these compiler generated object files.


A pre-processor pre-processes a source file, such as including the contents of header files into the source file. You generally don't do this yourself to save yourself a lot of time. You just insert a line like #include <filename>. The pre-processor file insert the contents of that file into the source file. That's one of the things a pre-processor does.

C++ Library

The C++ library is used by C++ programs. The C++ library contains functions that are frequently used in C++ programs. This way the programmer doesn't have to write certain functions (such as writing a string of text to the screen) from scratch every time he creates a program.