Les détails de ce paquet se trouvent dans Section 8.26.2, « Contenu de GCC. »
Lors de la construction de gcc-pass2 nous avons repoussé l'installation de la bibliothèque standard C++ parce qu'aucun compilateur convenable n'était disponible pour la construire. Nous ne pouvons pas utiliser le compilateur construit dans cette section parce que c'est un compilateur natif et qu'il ne doit pas être utilisé en dehors du chroot ou il risquerait de polluer les bibliothèques avec des composants de l'hôte.
Libstdc++ fait partie des
sources de GCC. Vous devez d'abord déballer l'archive de GCC et
vous déplacer dans le répertoire gcc-11.2.0
.
Créez un lien qui existe lors de la construction de libstdc++ dans l'arborescence des sources de gcc :
ln -s gthr-posix.h libgcc/gthr-default.h
Créez un répertoire de construction séparé pour libstdc++ et entrez dedans :
mkdir -v build cd build
Préparez la compilation de 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
Voici la signification des options de configure :
CXXFLAGS="-g -O2
-D_GNU_SOURCE"
Ces drapeaux sont passés par le Makefile de plus haut niveau lors de la construction complète de GCC.
--host=$(uname
-m)-lfs-linux-gnu
Nous devons mimer ce qui arriverait si ce paquet était construit avec la construction complète du compilateur. Ce drapeau serait passé au configure par la machinerie de construction de GCC.
--disable-libstdcxx-pch
Ce paramètre évite l'installation des fichiers d'en-tête pré-compilés, qui ne sont pas requis pour le moment.
Compilez libstdc++ en lançant :
make
Installez la bibliothèque :
make install
Les détails de ce paquet se trouvent dans Section 8.26.2, « Contenu de GCC. »