5

当我编译 Caffe 时,我遇到了这个错误,尽管安装了 OpenBLAS:

AR -o .build_release/lib/libcaffe.a
LD -o .build_release/lib/libcaffe.so
/usr/bin/ld: cannot find -lopenblas
collect2: ld devolvió el estado de salida 1
make: *** [.build_release/lib/libcaffe.so] Error 1

有解决办法吗?

4

3 回答 3

11

即使在克隆 OpenBlas 并制作之后包含基本包,也会链接 14.04 和 16 中的相应库。

apt install liblapack-dev liblapack3 libopenblas-base libopenblas-dev

apt install liblapack-dev liblapack3 libopenblas-base libopenblas-dev

于 2016-05-25T22:11:36.693 回答
6

我遇到了同样的问题。即使将库目录“/opt/OpenBLAS/lib/”添加到 ldconfig 缓存也无济于事(因为我的 libopenblas.so 位于“/opt/OpenBLAS/lib/libopenblas.so”)。

使用 cmake 帮助了我。从 caffe 根目录试试这个:

mkdir build cd build cmake -DBLAS=open .. make all make runtest

如果需要使用make,请将libopenblas.so 的符号链接添加到/usr/lib。我做了以下事情:

ln -s /opt/OpenBLAS/lib/libopenblas.so /usr/lib/libopenblas.so

于 2015-12-12T18:17:05.440 回答
0

我看到了类似的问题(出于某种原因,我再次编译 caffe)。我发现构建器正在寻找的库文件(-lcblas 或 -latlas 表示 libcblas.so 和 libatlas.so)位于 /usr/lib64/atlas 下。所以就像这样在 /usr/lib64 下添加符号链接。

sudo ln /usr/lib64/atlas/libcblas.so.3.0 /usr/lib64/libcblas.so
sudo ln -s /usr/lib64/atlas/libatlas.so.3.0 /usr/lib64/libatlas.so

但我想更合适的方法是设置 Makefile.config(CBLAS 路径)。(我认为默认路径会消除它阅读评论说的,但它没有。)希望这对任何人都有帮助。

于 2016-03-25T07:44:15.020 回答