/ / Como faço para obter ruby-svm para procurar por bibliotecas em macports '/ opt / local? - rubi, macos, macports, svm

Como obtenho o ruby-svm para procurar por bibliotecas em macports '/ opt / local? - rubi, macos, macports, svm

Eu quero instalar o Ruby SVM. Eu já tenho macports com configurações normais, e instalei libsvm via porta muito bem. Mas quando eu vou compilar o rubysvm, ele vomita. :(

Ruby SVM: http://rubysvm.cilibrar.com/download/ (a maioria dos links são 404 embora) libsvm: http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Tente isto:

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

... e você recebe o erro:

...
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.

Eu tentei isso sem sucesso:

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

Como faço para corrigir isso?

Respostas:

1 para resposta № 1

libsvm-ruby assume libsvm instala seu cabeçalho em PREFIX/include/libsvm/svm.h, mas o pacote macports o coloca em /opt/local/include.

É um kludge, mas a solução mais fácil é fazer manualmente o diretório /opt/local/include/libsvm e mova / copie o svm.h cabeçalho lá. Você ainda pode precisar executar o comando configure com as configurações LDFLAGS e CPPFLAGS, pois parece que a instalação do macports não atualiza o pkg-config (que o libsvm-ruby usa para tentar encontrar os flags do compilador).

Eu relataria isso como um bug de pacote para o mantenedor do macports. Se você entende os portfiles do macport, provavelmente você pode até mesmo fornecer um patch.

Atualizar: Eu realmente não tentei isso, então pode haver outros problemas depois que você passar a detecção do arquivo de cabeçalho.

Atualização 2: Consegui passar pelo configure com:

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

Mas libsvm-ruby parece depender obstack.h, que não existe nativamente no OS X. Com base em esta, pode haver uma maneira de copiar os arquivos que você precisa, mas você precisará corrigir o libsvm-ruby main.cpp e Makefile para vincular isso.

Boa sorte!