5.8. Libstdc++ from GCC-9.2.0

Libstdc++ is the standard C++ library. It is needed to compile C++ code (part of GCC is written in C++), but we had to defer its installation when we built gcc-pass1 because it depends on glibc, which was not yet available in /tools.

Approximate build time: 0.5 SBU
Required disk space: 878 MB

5.8.1. Installation of Target Libstdc++



Libstdc++ is part of the GCC sources. You should first unpack the GCC tarball and change to the gcc-9.2.0 directory.

Create a separate build directory for Libstdc++ and enter it:

mkdir -v build
cd       build

Prepare Libstdc++ for compilation:

../libstdc++-v3/configure           \
    --host=$LFS_TGT                 \
    --prefix=/tools                 \
    --disable-multilib              \
    --disable-nls                   \
    --disable-libstdcxx-threads     \
    --disable-libstdcxx-pch         \

The meaning of the configure options:


Indicates to use the cross compiler we have just built instead of the one in /usr/bin.


Since we have not yet built the C threads library, the C++ one cannot be built either.


This switch prevents the installation of precompiled include files, which are not needed at this stage.


This is the location where the standard include files are searched by the C++ compiler. In a normal build, this information is automatically passed to the Libstdc++ configure options from the top level directory. In our case, this information must be explicitly given.

Compile libstdc++ by running:


Install the library:

make install

Details on this package are located in Section 6.25.2, “Contents of GCC.”