scipy在linux上安装:找不到lapack对象sgges_

时间:2013-01-22 17:23:19

标签: python install scipy lapack

我正在尝试安装scipy,并遇到问题。比较我的 结果到FAQ页面,看起来我的ATLAS不完整。这页纸 表示:

ATLAS提供的LAPACK库不完整 在收到导入错误时会注意到它 ImportError:... / flapack.so:未定义的符号:sgesdd_ 为了确保NumPy / SciPy是针对完整的LAPACK构建的,请检查 文件liblapack.a的大小 - 它应该是大约6MB。的位置 通过执行显示liblapack.a python numpy / distutils / system_info.py lapack 要修复:按照说明操作 http://math-atlas.sourceforge.net/errata.html#completelp建立一个 完成LAPACK库以创建完整的liblapack.a。然后复制 liblapack.a到安装libatlas.a的同一位置并重试 与scipy构建。

我缺少的实际对象是“sgges_”。我尝试了两种解决方案。

1)我已遵循ATLAS指令进行完整构建 LAPACK,rev。 3.4.2。 (顺便说一句,产生的LAPACK约为10MB,大于 FAQ中的6MB。)

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

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

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

这是一次严重的失败吗?还有什么可做的吗?

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

感谢。

1 个答案:

答案 0 :(得分:1)

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

SCIPY install from source code on slackware 13

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

您可以通过复制我的步骤来隔离您的问题,并在任何地方查看它失败的位置。