Boost-1.83.0

Introduksjon til Boost

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.

Pakkeinformasjon

Boost Avhengigheter

Anbefalt

Valgfri

ICU-73.2 og Open MPI

Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/boost

Installasjon av 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.

[Note]

Note

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

Parameterforklaringer

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.

Innhold

Installerte Programmer: Ingen
Installerte Biblioteker: libboost_atomic.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_contract.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_json.so, libboost_locale.so, libboost_log_setup.so, libboost_log.so, libboost_math_c99.so, libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so, libboost_math_tr1f.so, libboost_math_tr1l.so, libboost_nowide.so, libboost_numpy311.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python311.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_noop.so, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_url.so, libboost_wave.so, og libboost_wserialization.so
Installert Mappe: /usr/include/boost