Boost C++ Libraryのインストール
June 7, 2005, on Mac OS X 10.4.1 Tiger
Boost homepage
必要なもの
1.32.0のtarballだと、toolsのdarwinファイルがtigerに対応してなくて、
指定されたコンパイル・オプションはないなどのエラーでコンパイルできない。
手順
パーミッションがどうのこうの言われたら、コマンドの頭にsudoをつける。
パスワードを入れろと言われたら入れる。自分一人でしか使わないマシンなら、
/usr/local のオーナーを自分にしておくのが楽。
- Pythonをインストールする。bjamが要求する。
% tar zxf Python-2.4.1.tgz && cd Python-2.4.1
% ./configure && make
% make install
これで/usr/local以下にインストールされる。
- bjamをインストールする。バイナリを/usr/local/binとかに置くだけ。
% tar zxf boost-jam-3.1.10-1-macosxppc.tar.gz &&
cd boost-jam-3.1.10-1-macosxppc
% cp bjam /usr/local/bin
% chmod 755 /usr/local/bin/bjam && rehash
- boostをCVSからもらってくる。パスワードを聞かれたらリターンのみ。
% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost login
% cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost
checkout boost
% cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/boost logout
- boostをコンパイルする。makeの代わりにbjamを使う。かなり時間がかかる。
1時間とか。
% cd boost
% setenv PYTHON_ROOT /usr/local
% setenv PYTHON_VERSION 2.4
% bjam -sTOOLS=darwin stage
...
...failed updating 8 targets...
...skipped 11 targets...
...updated 888 targets...
% bjam -sTOOLS=darwin install
% cd /usr/local/inlcude && ln -s boost-1_33/boost .
- 一度コンパイル&インストールしてしまえば、あとはboostの開発状況を見ながら、
ときどき上記3&4を行えばよい。アップデートが少なければ、すぐ終わる。
使い方
コンパイル・オプションに
-I/usr/locall/include
-L/usr/local/lib
-l/usr/local/lib/libboost_filesystem.a
などと付ける。
コケる場合
- bjamがライブラリのコンパイルでコケる場合
bjamが止まらなければ、些細な失敗は無視する。bjamが止まるような場合は、
アップデートを待つか、原因を探して開発者に投げる。
- "Unknown compiler version"とかいうメッセージがたくさん出てくる。
Tigerがデフォルトでgcc4.0採用という挑戦的なことをしているのが原因。
挑戦的な気分を堪能するよう割り切る。
- "...patience..."とよく言われる。
我慢強く待つ。しかしコンパイルがハングしていることもあり得るので、
見極めが大事。コンパイルされるファイルは、一つ一つは大きくないので、
メッセージ出力が止まったまま1〜2分経過したときは、ctrl-Cしてもいいと思う。
その他
June 6, 2005に発表されたxcode 2.1(gcc 4.0)でも、いくつかのターゲットがコケる。
あまり気にしないのが吉。