boost-1.86.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.2 plattform.

[Note]

Note

Denne pakken vil pakke ut til boost-1.86.0/ mappen.

Pakkeinformasjon

Ytterligere Nedlastinger

Boost Avhengigheter

Anbefalt

Valgfri

ICU-75.1, NumPy-2.1.0, og Open MPI

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

Installasjon av Boost

Først, fikse et problem med Boost og NumPy-2.1.0 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.

[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

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_charconv.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_numpy312.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python312.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