トップ 最新

kumaryu日記

2004-11-16 インストール地獄

_ バージョン管理

Subversionは止めました。

インストールの面倒さに比べて期待したほどの物じゃなかった。

で、他に何かないかなーと見つけたのがmonotone

分散型のバージョン管理システムって触ったこと無いから不安だったけど、ドキュメントを見て納得。一人一リポジトリね。 共有はリポジトリのsyncによって行うらしい。

いろいろ便利そうなのでインストールしようとしたんですけど。

OSX用のバイナリは無いので自前でビルド。gettextはともかくboostが必要なので入れる。これのインストールはドキュメント通りなので楽。

他にpopt。gnome.orgにあるっていうんだけど、見つからないのでググって入手。インストールも簡単。

gettextも、と思ったけど面倒なのでやめ。--disable-nlsをつけよう。

と思ったらlibintl.hがねぇとかでエラー。あん?--disable-nls付ければgettextはいらないんじゃ…?

まあfinkのapt-getでgettextが入ってたのでパスを通して再挑戦。うー、すげーコンパイル時間かかるな。多分boostの超変態的テンプレート群のコンパイルに時間がかかってるんだろう。

って、そしたらiconvとかlibintl関係のシンボルがundefined reference。 えー。

もう一度configureからやり直してみるに、どうもgettextの検出に失敗しているらしい。config.logを見ると確かにコンパイル失敗してる。っつーか明らかにこのソース絶対通らんだろう。う、うーん。さっぱりわからん。

ってか、finkにmonotoneあるじゃん。

ということでunstableからインストール。あれ?X11が必要だよん、とか言われる。はぁ?GUIなんて使わないぞ。

show-depsで見てもわからん。boostの依存関係を見るとpython23とかある。python23の依存関係を見るとtcltkとかある。tcltkの依存関係を見ると…X11か。

結局boostがpythonを要求するのが悪い。boostの中の大っ嫌いなライブラリ*1でこんな面倒なことになるなんて。

つーか、なんでboostがboostで一つのパッケージなんだよ。debianとかならライブラリごとに分かれてるじゃねぇか。

いや、python23がtcltkを要求するのもおかしいし。自分で普通にコンパイルすればtcltk無しのpythonが出来るだろう。

てことで、どうしよう。

…うへ。ML検索かけたらLDFLAGSに-liconv -lintlを追加で、CPPFLAGSに-D__unixを追加すりゃできるよ、だって。

つまり、そのままじゃOSXでビルドできないから手動で適当に胡麻化せということか。 いや、それ以外に特にスマートな解決方法が無いってなら別にいいんだけど。無いってことが知りたかったわけで。

あと、コンパイルに何時間もかかるのは-O0にすりゃいいらしい。最適化無しか。まあいいや。

*1  そもそもboostはC++の次期標準に入れたいライブラリのはずだったのに、そこにPythonライブラリがあるのは頭悪すぎ。