2015-11-04 12 views
5

Sul mio RHEL7, sto cercando di installare py-earth e ottenere questo errore link:errore di collegamento con cblas quando si installa scikit-learn

/usr/bin/ld: cannot find -lcblas 

Ho pacchetti blas, Blas-devel, atlante e atlas-devel installati .

Il comando compilation stampata dopo questo errore specifica

-L/usr/lib64/atlas -lcblas -lm .... 

E per completezza, la directory /usr/lib64/atlas contiene i seguenti file e link simbolici

libsatlas.so -> libsatlas.so.3.10 
libsatlas.so.3 -> libsatlas.so.3.10 
libsatlas.so.3.10 
libtatlas.so -> libtatlas.so.3.10 
libtatlas.so.3 -> libtatlas.so.3.10 
libtatlas.so.3.10 

Qualsiasi aiuto?

risposta

6

Questo sembra essere un problema con sklearn, non capendo che il pacchetto di atlas ora si presenta come un file .so condiviso, invece di più. Puoi vedere il problema in questo github issue.

mia soluzione è stata l'ultima offerta: è sufficiente creare un collegamento:

ln -s /usr/lib64/atlas/libsatlas.so /usr/lib64/atlas/libcblas.so 

e riprovare.

0

Come ha notato Ian Roddis, questo è un bug in scikit-learn.

Un'altra soluzione su Linux è l'aggiornamento pip a una versione > = 8.1. Quindi pip può installare la ruota binaria "many-linux" invece di compilare lo scikit-learn dalla sorgente. (La ruota binaria non presenta questo problema)