-O0

nozomi-k さんが授業の TA として実習用に自然言語処理関係のプログラムをインストールしないといけないそうなので、後ろでインストールするのを見物。

NAIST の学生が使う環境は Solaris なので、けっこうインストールでこける割合が高い。

今日のレシピは ChaSenBACT。両方入れるのに必要なパッケージとしては dartsipadicChaSen のインストールもけっこう面倒くさい。

ChaSen に関しては darts にパッチを当てればコンパイルはうまくいくものの、実行すると Bus Error になったりするので、pkgsrc 見てパッチを当てたりするが、直らず。truss して見るとなんか辞書アクセスでこけているらしくが、確かに入っていないっぽいのだが、どうすればよく分からないので ChaSen と ipadic のバージョンを下げる(それぞれ 2.4.0-preview1 と 2.7.0 で試していたが、動作することが確実な 2.3.3 と 2.6.3 にしてもらう)。

BACT はもっと不可解で、普通に (g)make すると bact_learn と bact_mkmodel は動くものの、bact_classify がこれまた segmentation fault になる。デフォルトの CXXFLAGS が -O3 なので -O0 でコンパイルすると全部正しく動くのだが、bact_learn がやたら遅くなる。仕方ないので場当たり的に bact_learn と bact_mkmodel は普通にインストールして bact_classify だけ -O0 で作ってもらう。Solaris でインストールしたことなかったので気がつかなかった(松本研では使用頻度の高いツールナンバー3に入るアプリケーションだと思う)のだが、なんだろう、これ。