4

Ruby SVM をインストールしたい。私はすでに通常の設定のmacportsを持っており、ポート経由でlibsvmをインストールしました。しかし、rubysvm をコンパイルしようとすると、barfs になります。:(

Ruby SVM: http://rubysvm.cilibrar.com/download/ (ほとんどのリンクは 404 ですが) libsvm: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

これを試して:

sudo port install libsvm
wget http://debian.cilibrar.com/debian/pool/main/libs/libsvm-ruby/libsvm-ruby_2.8.4.orig.tar.gz
tar -xzf libsvm-ruby_2.8.4.orig.tar.gz
cd libsvm-ruby-2.8.4
./configure

...そして、エラーが発生します:

...
checking libsvm/svm.h usability... no
checking libsvm/svm.h presence... no
checking for libsvm/svm.h... no
Error, cannot find LIBSVM svm.h header.

私はこれを試しましたが、成功しませんでした:

export DYLD_LIBRARY_PATH=/opt/local/include/:/opt/local/lib/
(... ditto for C_INCLUDE_PATH, LD_LIBRARY_PATH, CPATH, & LIBRARY_PATH)
LDFLAGS="-I/opt/local/include -L/opt/local/lib" CPPFLAGS="-I/opt/local/include -L/opt/local/lib" ./configure

これを修正するにはどうすればよいですか?

4

1 に答える 1

1

libsvm-ruby は、libsvm がそのヘッダーを にインストールすると想定していますPREFIX/include/libsvm/svm.hが、macports パッケージはそれを に入れます/opt/local/include

これは面倒ですが、最も簡単な修正は、手動でディレクトリを作成し、そこにヘッダー/opt/local/include/libsvmを移動/コピーすることです。svm.hmacports のインストールでは pkg-config が更新されないように見えるため、LDFLAGS および CPPFLAGS の設定を指定して configure コマンドを実行する必要がある場合があります (libsvm-ruby がコンパイラ フラグを見つけるために使用します)。

これをパッケージのバグとして macports メンテナに報告します。macport の Portfiles を理解していれば、おそらくパッチを提供することさえできます。

更新: 私は実際にこれを試していないので、ヘッダー ファイルの検出を通過すると、他の問題が発生する可能性があります。

更新 2 : 次のコマンドを使用して構成を完了できました。

sudo mkdir /opt/local/include/libsvm
sudo cp /opt/local/include/svm /opt/local/include/libsvm/
CPPFLAGS=-I/opt/local/include LIBS=-L/opt/local/lib ./configure

しかし、libsvm-ruby は、OS X にネイティブに存在しない obstack.h に依存しているようです。これに基づいて必要なファイルをコピーする方法があるかもしれませんが、libsvm- ruby main.cpp と Makefile をリンクします。

幸運を!

于 2010-02-03T18:22:29.730 に答える