我正在尝试安装 scipy,但遇到了问题。将我的结果与常见问题页面进行比较,看起来我的 ATLAS 不完整。该页面说:
ATLAS 提供的 LAPACK 库不完整 当您遇到 ImportError: .../flapack.so : undefined symbol: 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 build 重试。
我缺少的实际对象是“sgges_”。我尝试了两种解决方案。
1) 我已按照 ATLAS 说明制作了 LAPACK 的完整版本,rev。3.4.2. (顺便说一句,生成的 LAPACK 大约为 10MB,比常见问题解答中的 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 编译器。
谢谢。