Boost-1.68.0

Boost の概要

Boost は、公開レビューされている、移植性に優れたフリーの C++ ソースライブラリです。 ライブラリには、線形計算、擬似乱数生成、マルチスレッド、画像イメージ処理、正規表現、ユニットテストなどが含まれます。

本パッケージは LFS-8.3 において正しくビルドでき動作することが確認されています。

パッケージ情報

Boost の依存パッケージ

推奨

任意

ICU-62.1, Python-2.7.15, Open MPI

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/boost

Boost のインストール

以下のコマンドを実行して Boost をビルドします。

./bootstrap.sh --prefix=/usr &&
./b2 stage threading=multi link=shared

Boost.Build の縮退テストを実施するには Python-2.7.15 が必要です。 テストは pushd tools/build/test; python test_all.py; popd を実行します。 全テスト 150 個が成功するはずです。

各ライブラリの縮退テストをすべて実施するには pushd status; ../b2; popd を実行します。 失敗するテストが多少あります。 そのテストには処理時間が相当 (-j4 指定でも 119 SBU 以上) かかり、ディスク消費も 46 GB は必要になります。 実施する際には -jN スイッチを必ず指定して高速化を図るようにしてください。

root ユーザーになって以下を実行します。

./b2 install threading=multi link=shared                 &&
ln -svf detail/sha1.hpp /usr/include/boost/uuid/sha1.hpp

コマンド説明

threading=multi: このパラメーターは、マルチスレッドサポートを含めて Boost をビルドすることを指示します。

link=shared: このパラメーターは共有ライブラリのみを生成するようにします。 ただし libboost_exception と libboost_test_exec_monitor はスタティックライブラリを生成します。 スタティックライブラリは通常は必要がありません。 Boost を利用するプログラムは、たいていはヘッダーファイルを単に指定するだけです。 もしスタティックライブラリを必要とするなら、このパラメーターを取り除いてください。

ln -svf detail/sha1.hpp ...: The uuid/sha1.hpp used to be a regular header, but by boost_1_66_0 it had been changed to load the similar detail/sha1.hpp header, with a message that it had been deprecated. It has now been removed, but not every package which uses it has been changed. An example is one of the libraries downloaded as a git version by libreoffice. The symlink enables this and similar packages to build.

-jN: This switch may be added to the b2 command lines, to run up to N processes in parallel.

--with-python=python3: Add this switch to the bootstrap command, if you want Boost to use Python3 instead of Python2.

パッケージ構成

インストールプログラム: なし
インストールライブラリ: libboost_atomic.so, libboost_chrono.a, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost-fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.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_prg_exec_monitor.so, libboost_program_options.so, libboost_python27.so or libboost_python3.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_signals.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_noop.so, libboost_system.a, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.a, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_wave.so, libboost_wserialization.so
インストールディレクトリ: /usr/include/boost

最終更新日: 2018-08-21 22:59:25 +0900