Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法
主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一个是在编译过程中的问题。
问题1: CMake Warning at /home/hk/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message):
Found OpenCV Windows Pack but it has no binaries compatible with your
configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV Library.
问题原因:
应该是目录配置不对,这个我不知道究竟哪里不对,我在.bashrc下有设置opencv的环境变量,甚至在/etc/ld.so.conf中也添加了opencv的路径,但是二者均没有产生作用,注意最好不要在ld.so.conf文件下放置.bashrc的里设置过得路径(个人理解),否则会出现无法登录的问题。
解决方法:
在~/caffe/build文件下终端执行:
cmake -D OpenCV_DIR=/home/hk/opencv-3.1.0/build/ ..
(注意 1. 目录中hk是我的用户名;2. / ..中间有空格)
问题2:CMake Error at cmake/Dependencies.cmake:99 (find_package):
Found package configuration file:
/home/hk/opencv-3.1.0/cmake/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
问题原因:
Opencv_found变量被设置为false,这个设置应该是要在../caffe/Makefile里的,但是我在该文件下没有找到这个配置,倒是在../camke/Dependencies.cmake文件下找到了OpenCV_FOUND的设置,但是在这里更改无用。
网上对于该问题也有很多解决方法,但是大多数无用,可以下载安装cmake-gui工具(可视化cmake工具,需下载安装),对其进行设置,可以参考我的设置,也可参考网址:https://www.tuicool.com/articles/ieuMRnr
注意图中有两个选项 OpenCV_FOUND及OPENCV_FOUND这里之前是没有选中的,我们选中然后基本就解决问题了,这里tip一下,可以通过这些选项来检查前边的Makefile.conf文件中的设置是否有误。
在这之后单击Configure - 执行完成之后单击 Generate,完成make。
然后在终端中执行:
../build$ camke ..
你会发现问题解决了。
问题3:出现在make编译阶段
/anaconda2/lib/libsoxr.so.0:对‘[email protected]_4.0’未定义的引用 collect2: error: ld returned 1 exit status
//或者是别路径下的 其他so 出现这种问题均适用
问题原因:可能由于我这里anaconda2的编译器是gcc4.4(或其他),但是Ubuntu16.04的Gcc版本是5.4.0,二者冲突导致。
在网上查了好多资料,基本基于以下两种方法:
- 方法1:使用cmake-gui并检查 WITH-OPENMP c>
- 方法2:从 $ PATH 和删除Anaconda 。
参考网址:http://www.it1352.com/540546.html
多次尝试方法2,未能有效解决问题,遂尝试方法1。方法1在camke 后添加 -D WITH_OPENMP=ON 执行揭开,但是直接使用方法二会提示WITH_OPENMP指令无效(被这个坑惨了),这个是由于config中没有开启OPENMP(在Makefile.conf中也查找不到),因此需要在CMAKE_GUI中进行配置,如上图所示,有个USE_OPENMP选项,把这个选上后续操作如问题2,然后编译完成。
这个问题的产生极有可能与环境变量的配置及Makefile.conf配置有关,还请多次检查自己的配置。
LINUX小白,自己在安装过程中遇到的坑,费了很长时间,希望能对大家有所帮助,高手勿喷,请多指教!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Ubuntu16.04+anaconda2+caffe+ssd+opencv3.1.0在编译caffe过程中的问题及解决方法 主要遇到三个问题,前两个是caffe在cmake过程中的问题,后一 - Python技术站