Boost gir et sett med gratis fagfellevurderte flyttbare C++ kildebiblioteker. Det inkluderer biblioteker for lineær algebra, generering av pseudotilfeldig tall, flertråding, bildebehandling, vanlige uttrykk og enhetstesting.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en LFS 12.0 plattform.
Nedlasting (HTTP): https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2
Nedlasting MD5 sum: 406f0b870182b4eb17a23a9d8fce967d
Nedlastingsstørrelse: 117 MB
Estimert diskplass som kreves: 1.1 GB (199 MB installert)
Estimert byggetid: 2.8 SBU (Bruker parallellisme=4; legg til 0,7 SBU for tester)
Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/boost
En endring i denne versjonen av boost ødelegger de få pakkene som bruker phoenix modul når den er kompilert med nåværende GCC. I BLFS, påvirker dette LibreOffice-7.6.0.3. Fiks dette med følgende kommando:
sed -i '/#include.*phoenix.*tuple.hpp.*/d' \ boost/phoenix/stl.hpp
Denne pakken kan bygges med flere jobber som kjører parallelt. I
instruksjonene nedenfor, <N>
står for antall jobber.
Installer Boost ved å kjøre
følgende kommandoer:
./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j<N>
threading=multi link=shared
For å kjøre Boost.Build's regresjonstester, utsted pushd tools/build/test; python3 test_all.py; popd.
For å kjøre hvert biblioteks regresjonstester, utsted pushd status; ../b2; popd. Noen
få tester kan mislykkes. Det tar veldig lang tid (over 119 SBU ved
-j4) og bruker en veldig stor mengde diskplass 46 GB). Du bør bruke
-jN
bryteren for å øke
hastigheten.
Boost installerer mange versjonsmapper i /usr/lib/cmake. Hvis en
ny versjon av Boost er
installert over en tidligere versjon, må de eldre cmake mappene
bli eksplisitt fjernet. For å gjøre dette, kjør som root
bruker:
rm -rf /usr/lib/cmake/[Bb]oost*
før du installerer den nye versjonen.
Nå, som root
bruker:
./b2 install threading=multi link=shared
sed -i '/#include ...
:
Dette fjerner inkluderingen av boost/phoenix/stl/tuple.hpp
fra denne
bare-deklarasjoner biblioteket, slik at applikasjoner som bruker
det kan koble til ved hjelp av nylige C++. Et alternativ er å
redigere /usr/include/boost/phoenix/stl.hpp
hvis denne
versjonen av boost allerede er installert uten denne sed.
threading=multi
: Denne
parameteren sikrer at Boost er
bygget med støtte for flere tråder.
link=shared
: Denne
parameteren sikrer at bare delte biblioteker opprettes, bortsett
fra libboost_exception og libboost_test_exec_monitor som er
opprettet som statiske. Folk flest vil ikke trenge de statiske
bibliotekene, og de fleste programmer som bruker Boost bruker kun deklarasjonene. Utelate denne
parameteren hvis du trenger statiske biblioteker.
--with-python=python3
:
Denne bryteren sikrer at Python3 brukes hvis Python2 er installert.
-jN
: Denne bryteren kan legges til
b2 kommandolinjer,
for å kjøre opp til N prosesser parallell.