2013-01-22 70 views
3

我想安装scipy,并遇到问题。将我的 结果与FAQ页面比较,看起来像我的ATLAS不完整。页面 说:ATLAS公司提供在Linux上scipy安装:无法找到一个lapack对象sgges_

LAPACK库是不完整的 获得进口类似错误 导入错误时,你会注意到它:.../flapack.so:未定义的符号:sgesdd_ 要确保与NumPy/SciPy的是针对完整的LAPACK构建,检查文件liblapack.a的 大小 - 它应该大约为6MB。 liblapack.a的位置由执行 蟒蛇显示numpy的/的distutils/system_info.py LAPACK 要解决:按照 http://math-atlas.sourceforge.net/errata.html#completelp说明构建 完整的LAPACK库来创建一个完整的liblapack.a。然后将 liblapack.a复制到安装libatlas.a的同一位置,然后用scipy build重试 。

我错过的实际对象是“sgges_”。我尝试了两种解决方案。 1)我已经按照ATLAS的说明完成了 LAPACK,rev。 3.4.2。 (顺便说一下,由此产生的LAPACK大约是10MB,大于 在常见问题解答中的6MB。)

2)我找到了一个用于LAPACK - rev的预编译二进制文件。不清楚 - 只是 下载它,并将其放置到位。 (它接近6MB大小。)

无论如何,我都会遇到同样的问题。

“nm”显示在liblapack.a plain中定义的sgges_。 System_info.py在/ usr/local/lib中找到了我的lapack。

这是一个关键失败?还有什么要做的吗?

顺便说一句,我在64位CentOs 5.x机器上运行python 2.7,而gfortran是我的FORTRAN编译器的 。

谢谢。

+0

根据以下指南尝试设置LAPACK + ATLAS:http://linuxtoolkit.blogspot.com/2011/03/compiling-lapack-on-centos-5.html http://linuxcluster.wordpress.com/ 2011/03/25 /编译 - atlas-on-centos5/ –

+0

谢谢。会看看。 –

回答

1

我必须在slackware 13 linux发行版上从头开始编译scipy,这是一个非常基本的linux系统;我罗列出来的所有步骤和结果在这里:

SCIPY install from source code on slackware 13

在我安装,我试图让动态库到本地目录/home/andrew3/.local/lib安装,因为:这不是什么系统安装。您遇到的类似错误是由链接程序ldd无法找到库引起的。

您可以通过复制我的步骤并查看其失败的位置来隔离您的问题。