7.7. Libstdc++ from GCC-11.2.0, Pass 2

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.

Omtrentlig byggetid: 0.8 SBU
Nødvendig diskplass: 1.1 GB

7.7.1. Installasjon av Target Libstdc++

[Note]

Note

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.”