在进行caffe安装时,编译时报如下错误
/usr/bin/ld: cannot find -lhdf5_hl
/usr/bin/ld: cannot find -lhdf5
这其实是一类问题,就是链接过程在默认的文件夹内找不到动态链接库文件。这类问题一般是如下报错误
/usr/bin/ld: cannot find -lxxxxx
其中xxxxx是动态链接库的文件名,也就是找不到 libxxxxx.so 文件。
为了解决我们安装caffe过程遇到的问题,我们还是先找到libhdf5_hl.so和libhdf5.so文件。
执行下面的命令来查找libhdf5_hl.so文件
locate libhdf5_hl.so
运行的结果是
/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_hl.so
为了能够找到这个文件,我们对Makefile.config文件进行修改,将原本的如下所示的代码
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
同样的方法,可以解决libhdf5.so的问题。
修改之后,可以正常编译。
本文的资源中包含了已经修改过的Makefile和Makefile.config文件,可以作为参考。