安装scikit-learn时与cblas链接错误

时间:2015-11-04 16:07:59

标签: python scikit-learn atlas cblas

在我的RHEL7上,我正在尝试安装py-earth并收到此链接错误:

/usr/bin/ld: cannot find -lcblas

我安装了blas,blas-devel,atlas和atlas-devel软件包。

此错误后打印的编译命令指定

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

为了完整起见,目录/usr/lib64/atlas包含以下文件和符号链接

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

任何帮助?

2 个答案:

答案 0 :(得分:6)

这似乎是sklearn的一个问题,而不是理解atlas软件包现在是一个共享的.so文件,而不是多个文件。您可以在github issue找到问题。

我的解决方案是最后提供的解决方案:只需创建一个链接:

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

再试一次。

答案 1 :(得分:0)

正如Ian Roddis所说,这是scikit-learn中的一个错误。

Linux的另一个解决方法是将 pip 升级到版本> = 8.1 。然后pip可以安装“many-linux”二进制轮而不是编译scikit-learn from source。 (二进制轮没有这个问题)