基本的に「Algorithm::SVMLight をインストールして使ってみよう」でいけるが、
perl Build test
で次のようなエラーがでる。
perl Build test
t/01-basic.t ... 1/28
# Failed test 'use Algorithm::SVMLight;'
# at t/01-basic.t line 5.
# Tried to use 'Algorithm::SVMLight'.
# Error: Can't load '/root/install/Algorithm-SVMLight-0.09/blib/arch/auto/Algorithm/SVMLight/SVMLight.so' for module Algorithm::SVMLight: libsvmlight.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
それをこの記事のようにパスを通す(?)とうまくいった。
具体的には、/etc/ld.so.confに次の一行を追加
/root/install/svm_light
そしてスーパーユーザで
ldconfig
ちなみに、/root/install/svm_lightというパスは、「Algorithm::SVMLight をインストールして使ってみよう」の記事でいうところの
% mkdir ./svm_light
の絶対パス
ちなみに、実際に使うとまた別のエラーがでた。
Can't load '/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/Algorithm/SVMLight/SVMLight.so' for module Algorithm::SVMLight: libsvmlight.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /usr/lib/perl5/5.8.8/i386-linux-thread-multi/DynaLoader.pm line 230.
at test_svmlight.pl line 3
Compilation failed in require at test_svmlight.pl line 3.
BEGIN failed--compilation aborted at test_svmlight.pl line 3.
Algorithm::SVMLightが使われるperlを実行したユーザの権限不足に起因してるっぽい。
参考:http://blog.netandfield.com/shar/2010/01/post-659.html
自分の場合は/root/install/svm_lightという奇妙な場所にインストールしてしまっていたらしく、/root以下全てに755の権限を与えるという暴挙を振るうことで解決。