导入caffe / scipy错误:liblapack.so.3:未定义的符号:sgetrs_N_single

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导入caffe / scipy错误:liblapack.so.3:未定义的符号:sgetrs_N_single相关的知识,希望对你有一定的参考价值。

我在一台运行在Jetson TX1上的Ubuntu 16.04系统上安装了Caffe。它运行正常,直到我编译并安装OpenBlas,然后在Python 2中导入caffe时开始出现此错误:

>>> import caffe

[ Large stack backtrace omitted]

from scipy.linalg import _fblas
ImportError: /usr/lib/liblapack.so.3: undefined symbol: sgetrs_N_single

我能够通过使用此命令恢复运行:

sudo update-alternatives --config liblapack.so.3

并在/ usr / lib中选择liblapack.so.3,而不是在/ usr / lib / openblas-base中。

我每次安装OpenBlas时都不必这样做。我已经用Google搜索了这个错误,但没有看到任何解决方案出现。有谁看到这个?

答案

看着openblas的source,看起来像这个符号在Makfile中用于构建getrs

看来这个库缺少一组底层二进制文件。 sgetrs_N_single是makefile中的第一个,但我怀疑如果它被删除你接下来会为sgetrs_T_single得到同样的错误。当共享库查找此子组件时,它找不到它。我怀疑构建过程中出现了一些问题,或者构建指令中缺少一个步骤。

以上是关于导入caffe / scipy错误:liblapack.so.3:未定义的符号:sgetrs_N_single的主要内容,如果未能解决你的问题,请参考以下文章

caffe 到 onnx 的 libcaffeconverter 导入错误

导入错误:没有名为“scipy._lib”的模块

使用 scipy.io loadmat 将 Matlab 结构导入 python 时的值错误

无法导入 scipy 的 io

在 scipy 中将 qmc 作为子模块导入

pyinstaller 导入 scipy 模块