在编译Caffe时出现"/usr/bin/ld: cannot find -lopenblas"错误。

6
当我编译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

有没有解决方案?
3个回答

13

即使在克隆OpenBlas和进行制作后,仍然包括基础包,将在14.04和16中链接适当的库。

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

安装 liblapack-dev、liblapack3、libopenblas-base 和 libopenblas-dev:


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

0

我遇到了类似的问题(由于某些原因,我正在重新编译caffe)。 我发现构建器正在寻找的库文件(-lcblas或-atlas表示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路径)。 (我以为默认路径会消除它阅读注释,但事实并非如此。)希望这对任何人有所帮助。


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