ややこしいので、事実関係を整理しておく。

  • CaboChaが要求するもの
    • ChaSen
    • YamCha*1
    • TinySVM*2(オプション、だがYamChaが事実上要求しているという罠)
  • ChaSenが要求するもの
    • 特になし(2.3.0はDarts*3が必要だが、このバージョン(ChaSen-2.3.0)はmmapまわりにバグがあり、cygwinでは動かない)
  • YamChaが要求するもの
    • TinySVM、もしくはSVM^light*4

これまでの結果

  • TinySvm
    • -enable-shared=yes:コンパイル通らず
      • C++関連ライブラリのリンクがおかしい?
    • -enable-shared=no:コンパイル、make checkとも問題なし
  • SVM^light
    • コンパイル問題なし(手動でインストールする必要あり)
  • YamCha
    • コンパイルそのものは問題なし、ただしmake check時に以下のエラーが出る(checkはすべてパスしたよ、って言ってくれるんだけど)
    • -enable-shared=yes
      • staticなTinySVMを使用:learning時に以下のエラー
SVM_Solver::learn(): This data have real-value class label.
SVM_Solver::learn(): Use C-SVR mode for regression estimation.
/usr/local/bin/svm_learn: Unexpected error occurs
      • SVM^lightを使用:test dataのevaluation時にsig11で落ちる
    • -enable-shared=no
      • staticなTinySVMを使用:learning時に上記と同じエラー
      • SVM^light使用:evaluation時に以下のエラー
FATAL: Chunker::open(): SVM::open(): size of model file is invalid.
  • ChaSen
    • 上述のように、最新の2.3.0はコンパイルはできるが動かないので、2.2.9を使用する
    • そのままコンパイルすると、shared libraryを作成しない
  • CaboCha
    • YamCha、ChaSen共にshared libraryを要求

うーむ、ややこし。