Details on this package are located in Section 8.29.2, “Contents of GCC.”
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 Libstdc++ depends on Glibc, which was not yet available in the target directory.
![[Note]](../images/note.png) 
          
            Libstdc++ is part of the GCC
            sources. You should first unpack the GCC tarball and change to
            the gcc-15.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            \
    --build=$(../config.guess) \
    --prefix=/usr              \
    --disable-multilib         \
    --disable-nls              \
    --disable-libstdcxx-pch    \
    --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/15.2.0
        The meaning of the configure options:
--host=...
            
                Specifies that the cross-compiler we have just built should
                be used instead of the one in /usr/bin.
              
--disable-libstdcxx-pch
            This switch prevents the installation of precompiled include files, which are not needed at this stage.
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/15.2.0
            
                This specifies the installation directory for include files.
                Because Libstdc++ is the standard C++ library for LFS, this
                directory should match the location where the C++ compiler
                ($LFS_TGT-g++)
                would search for the standard C++ include files. 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. The C++ compiler will prepend the sysroot
                path $LFS (specified when
                building GCC-pass1) to the include file search path, so it
                will actually search in $LFS/tools/$LFS_TGT/include/c++/15.2.0. The
                combination of the DESTDIR variable (in the
                make install
                command below) and this switch causes the headers to be
                installed there.
              
Compile Libstdc++ by running:
make
Install the library:
make DESTDIR=$LFS install
Remove the libtool archive files because they are harmful for cross-compilation:
rm -v $LFS/usr/lib/lib{stdc++{,exp,fs},supc++}.la
      Details on this package are located in Section 8.29.2, “Contents of GCC.”