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.
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.
Denne pakken vil pakke ut til boost-1.86.0
/ mappen.
Nedlasting (HTTP): https://github.com/boostorg/boost/releases/download/boost-1.86.0/boost-1.86.0-b2-nodocs.tar.xz
Nedlasting MD5 sum: eff463ec1c67a8725fb3d2948abc5ca5
Nedlastingsstørrelse: 90 MB
Estimert diskplass som kreves: 899 MB (197 MB installert)
Estimert byggetid: 1.8 SBU (Bruker parallellisme=4; legg til 0,1 SBU for tester)
Nødvendig oppdatering: https://www.linuxfromscratch.org/patches/blfs/svn/boost-1.86.0-upstream_fixes-1.patch
ICU-76.1, NumPy-2.1.3, og Open MPI
Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/boost
Først, fikse et problem med Boost og NumPy-2.1.3 som forårsaker at bygget mislykkes:
patch -Np1 -i ../boost-1.86.0-upstream_fixes-1.patch
Deretter fikser du et byggeproblem som oppstår i stacktrace biblioteket. Dette problemet er spesifikt for i686-systemer.
case $(uname -m) in i?86) sed -e "s/defined(__MINGW32__)/& || defined(__i386__)/" \ -i ./libs/stacktrace/src/exception_headers.h ;; esac
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
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.