在Linux上安装Scipy时遇到问题:找不到一个Lapack对象sgges_。

3
我正在尝试安装scipy,但遇到了问题。与FAQ页面进行比较后,看起来我的ATLAS不完整。该页面说:
由ATLAS提供的LAPACK库不完整 当出现导入错误时,您将会注意到它,例如ImportError:... / flapack.so:未定义符号:sgesdd_ 为确保NumPy / SciPy构建针对完整的LAPACK,请检查文件liblapack.a的大小-应该约为6MB。执行python numpy / distutils / system_info.py lapack可显示liblapack.a的位置 修复方法:按照http://math-atlas.sourceforge.net/errata.html#completelp中的说明构建完整的LAPACK库以创建完整的liblapack.a。然后将liblapack.a复制到安装libatlas.a的相同位置,并重新尝试进行scipy构建。
我实际缺少的对象是“sgges_”。我尝试了两个解决方案。
1)我按照ATLAS的说明进行了完整版本的LAPACK构建,版本为3.4.2。(顺便说一句,生成的LAPACK大约有10MB,比FAQ中的6MB要大。)
2)我找到了一个预编译的LAPACK二进制文件-版本不清楚-并只是下载并放置在原地。(它的大小接近6MB。)
无论如何,我都遇到了同样的问题。
“nm”显示sgges_在liblapack.a中明确定义。System_info.py在/usr/local/lib中很好地找到了我的lapack。
这是一个重大故障吗?还有其他事情要做吗?
顺便说一句,我在64位CentOs 5.x机器上运行python 2.7,并且gfortran是我的FORTRAN编译器。
谢谢。

尝试按照以下指南设置LAPACK + ATLAS:http://linuxtoolkit.blogspot.com/2011/03/compiling-lapack-on-centos-5.html http://linuxcluster.wordpress.com/2011/03/25/compiling-atlas-on-centos5/ - Sir Digby Chicken Caesar
1个回答

1
我需要在一个非常基本的Linux系统slackware 13上从头编译scipy; 我在这里列出了所有步骤和结果: SCIPY install from source code on slackware 13 在我的安装中,我试图让动态库安装在本地目录/home/andrew3/.local/lib中,因为它不是系统安装。类似于您遇到的错误是由于链接器ldd找不到库引起的。
您可以通过复制我的步骤并查看是否有任何失败来隔离问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接