1.
用 find -name libcaffe.so 程序 运行很慢
改用 先进入/opt/caffe/lib 路径
ldd libcaffe.so | grep log
意思是列出来了libcaffe.so 的依赖,| 表示将上一级作为输入, grep 查找 含有 log字符串的并列出来。
2.
错误:
make[2]: *** No rule to make target `/home/nvidia/caffe/build/lib/libcaffe.so', needed by `x86_64/lib/libsysDetectSpeed.so'. Stop.
cmakelists 里依赖的库要进行修改
target_link_libraries(sysDetectSpeed
/opt/caffe/lib/libcaffe.so
/usr/lib/x86_64-linux-gnu/libglog.so.0
/usr/lib/x86_64-linux-gnu/libgflags.so.2
/usr/lib/x86_64-linux-gnu/libboost_system.so
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.13
)
3.这个位置报错#include <caffe/caffe.hpp>
cmakelist 里caffe路径改对
include_directories(${PROJECT_INCLUDE_DIR}
/opt/caffe/include
4.make[2]: *** No rule to make target `/usr/lib/x86_64-linux-gnu/libGLEW.so.1.13', needed by `x86_64/lib/libsysDetectSpeed.so'. Stop.
这是在我上一步时 在 target_link_libraries里添加了 /usr/lib/x86_64-linux-gnu/libGLEW.so.1.13 时,告诉我需要x86_64/lib/libsysDetectSpeed.so'. ,我系统里没有x86_64/lib/libsysDetectSpeed.so'. 。用ldd libcaffe.so | grep GLEM发现,已经有/usr/lib/x86_64-linux-gnu/libGLEW.so.1.10版本,于是就在target_link_libraries版本改为1.10,就不会报错了,因为不用重新生成新版本的了,就不需要这个依赖了。
5. libboost_python-py27.so.1.55.0, needed by /opt/caffe/lib/libcaffe.so, not found (try using -rpath or -rpath-link)
/opt/caffe/lib/libcaffe.so: undefined reference to `boost::python::converter::detail::arg_to_python_base::arg_to_python_base(void const volatile*, boost::python::converter::registration const&)'
去 usr/lib/x86_64-linux-gnu 命令为 ll | grep python ,就好,这个库是 c++与python之间的底层连接,因为这段代码用python调用了caffe,所以用这个库来作为底层的通信接口。
6. 用find -name查找文件效率太低了
用locate
查看具体的文件是否存在。
$ locate libwebsockets.so
7.
./detectnet: error while loading shared libraries: libboost_system.so.1.55.0: cannot open shared object file: No such file or directory
用locate找到 libcaffe.so,然后用 ldd libcaffe.so | grep boost找到caffe 的依赖。结果是
libboost_system.so.1.55.0 => not found
libboost_thread.so.1.55.0 => not found
libboost_python-py27.so.1.55.0 => not found
那就安装一下吧。
安装boost的时候,其实很简单
wget http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz
tar -xzvf boost_1_55_0.tar.gz
cd boost_1_55_0
./bootstrap.sh --prefix=/usr/local
./b2 install --with=all
boost库被安装在/usr/local/lib下面
安装后,需要加入环境变量库
sudo vim ~/.bashrc
在该文件最后加入以下两行并保存:
export PATH=/usr/local/lib:$PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
使该配置生效:
source ~/.bashrc
这样解决了
libboost_system.so.1.55.0 => not found
libboost_thread.so.1.55.0 => not found
libboost_python-py27.so.1.55.0 => not found
前两个错误,但是第三个库 libboost_python-py27.so.1.55.0 还是找不到,,,
最后从另一台电脑上考进来这个库,程序就运行的起来了。。。