本パッケージの詳細は 「GCC の構成」を参照してください。
GCC 2回め のビルドの際には、C++ 標準ライブラリのインストールを控えていました。 なぜならそれをコンパイルするための適切なコンパイラーが、その時点では存在していなかったためです。 その節でビルドしたコンパイラーが利用できなかった理由は、それがネイティブコンパイラーであって、chroot 環境の外では利用できるものではなく、またホスト上のコンポーネントによってライブラリを壊してしまうリスクがあるためです。
libstdc++ のソースは GCC に含まれます。
したがってまずは GCC の tarball を伸張 (解凍) した上で gcc-11.2.0
ディレクトリに入って作業を進めます。
gcc ツリー内での libstdc++ のビルド時に必要なリンクを生成します。
ln -s gthr-posix.h libgcc/gthr-default.h
libstdc++ のためのディレクトリを新たに生成して移動します。
mkdir -v build cd build
libstdc++ をコンパイルするための準備をします。
../libstdc++-v3/configure \ CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ --prefix=/usr \ --disable-multilib \ --disable-nls \ --host=$(uname -m)-lfs-linux-gnu \ --disable-libstdcxx-pch
configure オプションの意味
CXXFLAGS="-g -O2
-D_GNU_SOURCE"
このフラグは GCC のビルドを完全に行うために、最上位の Makefile に対して指示します。
--host=$(uname
-m)-lfs-linux-gnu
本パッケージが完全なコンパイラーのビルドの一部として、どのようになるのかを考えておく必要があります。 本スイッチは GCC ビルドにおいて configure に受け渡されることになるものです。
--disable-libstdcxx-pch
本スイッチは、既にコンパイルされたインクルードファイルをインストールしないようにします。 これはこの時点では必要ないためです。
libstdc++ をコンパイルします。
make
ライブラリをインストールします。
make install
本パッケージの詳細は 「GCC の構成」を参照してください。