【问题标题】:scipy install on linux: can't find a lapack object sgges_scipy 在 linux 上安装:找不到 lapack 对象 sgges_
【发布时间】:2013-01-22 17:23:19
【问题描述】:

我正在尝试安装 scipy,但遇到了问题。比较我的 结果到常见问题页面,看起来我的 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,转。 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 编译器。

谢谢。

【问题讨论】:

标签: python installation scipy lapack


【解决方案1】:

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

SCIPY install from source code on slackware 13

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

您也许可以通过复制我的步骤来隔离您的问题,并查看失败的地方(如果有的话)。

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 2015-03-27
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    相关资源
    最近更新 更多