Detaljer om denne pakken finner du i Section 8.26.2, “Innhold i GCC.”
Ved bygging av gcc-pass2 måtte vi utsette installasjonen av C++ standardbiblioteket fordi ingen passende kompilator var tilgjengelig for å kompilere den. Vi kunne ikke bruke den innebygde kompilatoren fordi det er en innebygd kompilator og ikke bør brukes utenfor chroot og risikere å forurense bibliotekene med enkelte vertskomponenter.
Libstdc++ er en del av GCC
kildene. Du bør først pakke ut GCC tarballen og bytte til
gcc-11.2.0
mappen.
Lag en lenke som eksisterer når du bygger libstdc++ i gcc treet:
ln -s gthr-posix.h libgcc/gthr-default.h
Opprett en egen byggemappe for libstdc++ og skriv gå inn i den:
mkdir -v build cd build
Forbered libstdc++ for kompilering:
../libstdc++-v3/configure \ CXXFLAGS="-g -O2 -D_GNU_SOURCE" \ --prefix=/usr \ --disable-multilib \ --disable-nls \ --host=$(uname -m)-lfs-linux-gnu \ --disable-libstdcxx-pch
Betydningen av konfigureringsalternativene:
CXXFLAGS="-g -O2
-D_GNU_SOURCE"
Disse flaggene sendes av Makefile på øverste nivå når det bygges en komplett versjon av GCC.
--host=$(uname
-m)-lfs-linux-gnu
Vi må etterligne hva som ville skje hvis denne pakken ble bygget som en del av et komplett kompilatorbygg. Denne bryteren vil bli sendt til configure av GCCs byggemaskineri.
--disable-libstdcxx-pch
Denne bryteren forhindrer installasjon av forhåndskompilerte inkluderte filer som ikke er nødvendige på dette stadiet.
Kompiler libstdc++ ved å kjøre:
make
Installer biblioteket:
make install
Detaljer om denne pakken finner du i Section 8.26.2, “Innhold i GCC.”