私は最近、これを行うように電話をかけました。他の人に役立つ場合は、次の手順に従います。
- LSB SDK をダウンロードしてインストールする
- ブーストと抽出のバージョンを /opt/boost/boost_<version> にダウンロードします (私は 1.43 を使用しました)
- libbz2-dev がインストールされていることを確認してください。
- ブートストラップ
cd /opt/boost/boost_<version>
./bootstrap.sh --prefix=/opt/boost --without-libraries=python,mpi --without-icu
- 行を編集
/opt/boost/boost_<version>/project-config.jam
して追加する
using gcc : : /opt/lsb/bin/lsbc++ : <cflags>-U_GNU_SOURCE <cxxflags>-U_GNU_SOURCE ;
ファイルの先頭付近。bjam がその構成を読み取る他のファイルの 1 つに using 宣言がある場合、これは失敗することに注意してください。どのファイルを読み取っているかを知るために渡すことができ--debug-configuration
ます。
./bjam cflags=-fPIC cxxflags=-fPIC linkflags=-fPIC install
私は、python または MPI ライブラリーを動作させようとはしませんでしたし、ICU を boost.regex ライブラリーで動作させようともしませんでした。後者はおそらく、LSB ツールセットを使用して ICU ライブラリの静的バージョンを構築する場合です。
-fPIC
32 ビット Linux では必ずしも必要ではありませんが、静的ライブラリを 64 ビット Linux の共有ライブラリにリンクする場合は必須です。
/opt/boost/lib
最終結果は のバイナリと のヘッダーになるはず/opt/boost/include
です。明らかに、自分の好みに合わせてプレフィックスを変更できます。すべてのコードを LSB に移植する前に、まだやらなければならない作業がかなりあるので、認定プロセスがどの程度進んでいるかについてはまだ報告できません。