安装SSD

这是在别人电脑上安装SSD,出现了一吨的问题,感觉有点意义,就记录了下来。

1. SSD下载地址

https://github.com/weiliu89/caffe/tree/ssd

2. 修改Makefile.config

主要修改anaconda3的路径,因为这台电脑使用的这个软件。

然后安装github上的说明安装就好了,需要清除重新安装使用命令 make clean。

下面说一下遇到的问题。

一 错误:caffe.pb.h
fatal error: caffe/proto/caffe.pb.h: No such file or directory
这是因为make all -j12这里的12太大了,数据交换来不及,改成make all -j8就行
github讨论

二 错误:libpng16.so.16
libpng16.so.16:对‘inflateValidate@ZLIB_1.2.9’未定义的引用

sudo ln -s /home/yali/anaconda2/lib/libpng16.so.16 libpng16.so.16 (方法不行) (注释:估计是看到的这个方法https://stackoverflow.com/questions/32405035/caffe-installation-opencv-libpng16-so-16-linkage-issues
正确解决方法:
在 Makefile.config 中,加入下一句
LINKFLAGS := -Wl,-rpath,$(HOME)/anaconda/lib
参考:http://blog.csdn.net/ruotianxia/article/details/78437464
在这儿狂踩坑,好像所有的努力都是白费,还是需要凯撒那个方法。但稍微有些解释能够明白为什么这莫搞:https://stackoverflow.com/questions/13507600/get-rid-of-gcc-usr-bin-ld-warning-lib-not-found
但是,这样虽然避免里编译时候error的出现,在调用的时候也还是会遇到相同的问题,有个链接好像可以解决这个问题http://blog.csdn.net/aa1600159112/article/details/76664566
我所用到的是zlib-1.2.9与libpng-1.6.20
下载链接zlib:https://sourceforge.net/projects/libpng/files/zlib/1.2.9/zlib-1.2.9.tar.gz,安装步骤可参考https://jingyan.baidu.com/article/29697b91321e2eab20de3c0d.html 不过要注意的是安装路径,prefix为/usr/lib/x86_64-linux-gnu。方法如下:
重新安装zlib,安装方法参考这个链接:http://blog.csdn.net/yuanchheneducn/article/details/51314255

三 错误cudaSuccess (7 vs. 0)
make runtest -j8出现Check failed: error == cudaSuccess (7 vs. 0) too many resources requested for launch

a. 出现这种情况,有可能是kernel中smem或者register使用超过了限制。在编译的时候可以用—ptxas-options=-v,这样在编译过程中,会打印出你程序中每个核函数register和memory的使用情况。
http://blog.csdn.net/moonboat0331/article/details/10589815

b. 也说是同样的原因。https://stackoverflow.com/questions/26201172/cuda-too-many-resources-requested-for-launch

四 错误
ModuleNotFoundError: No module named ‘caffe’
caffe路径加入python路径
http://blog.csdn.net/qq_26569761/article/details/51082387

五 错误
undefined symbol: _ZN5boost6python6detail11init_moduleER11PyModuleDefPFvvE
编译时的原因
http://blog.csdn.net/donatellobzero/article/details/51304162

六 错误,同时使用python3
import caffe时出错 关于python2和python3
ImportError: dynamic module does not define module export function (PyInit__caffe)
参考:https://stackoverflow.com/questions/34295136/importerror-dynamic-module-does-not-define-module-export-function-pyinit-caff
caffe安装所依赖的环境——官方介绍
http://caffe.berkeleyvision.org/installation.html#prerequisites
以上为确定里问题,但是并没有给出原因。

需要安装boost库,boost_1_49_0.tar.bz2的下载地址为http://www.boost.org/users/download/
安装这个库可以参考这个链接 http://blog.csdn.net/yhrun/article/details/8099630
但是,我没太搞清楚怎么安装python3,这台电脑使用的anaconda,有多个源的依赖库,路径有些复杂。使用python的时候,Makefile.config中注释掉 with layer

七 错误:
出现libgobject-2.0.so.0, not found
在这个链接里给里些分析,http://blog.163.com/huangbao_007/blog/static/3563653520081024105940523/ 意思大概是需要安装glib。没解决好。

八 错误:
ImportError: libhdf5_hl.so.100: cannot open shared object file: No such file or directory
找到这个文件,然后加入到系统配置文件里去
参考:https://stackoverflow.com/questions/37369515/libhdf5-so-100-cannot-open-shared-object-file-no-such-file-or-directory-howev
以及 https://github.com/BVLC/caffe/issues/1463

九 错误:
出现libcudnn.so.6: cannot open shared object file: No such file or directory
可参考 http://blog.csdn.net/u014696921/article/details/60140264http://blog.sina.com.cn/s/blog_721a75e50102wfig.html 主要是路径的原因,将路径添加到可见的地方。但是这是临时方案export。详情可见linux下的命令 http://blog.csdn.net/zhouyong0/article/details/8005520
具体是是 gedit ~/.bashrc
添加export命令

后来又出现libcudnn.so.6.0.21 is truncated,估计是libcudart.so.8.0的原因,不同版本的安装包安装在不同路径下,都链接到了usr中去了。我未解决,上面那些链接好像都解决了。

十 错误:
HDF5 library version mismatched error Headers are 1.8.16, library is 1.10.1
有个链接是 http://blog.csdn.net/apsvvfb/article/details/50885335
同九,添加里export命令

十一 错误:
Check failed: status == CURAND_STATUS_SUCCESS (201 vs. 0) CURAND_STATUS_LAUNCH_FAILURE
参考 http://www.caffecn.cn/?/question/1198 版本太低?
libcudart.so.7.5的位置是/usr/lib/x86_64-linux-gnu,
libcudart.so.8.0的位置是/home/jinx/anaconda3/lib

3.对makeconfig的理解

一. python
现在对makeconfig里的参数的意义有一定理解,对于一些不太直观的做些注释
PYTHON_INCLUDE和Anaconda Python 这两个是替代性的,二选一。默认的这儿指的是python2。如果是python3,需要在下面一些的地方,因为那儿提前有一句:PYTHON_LIBRARIES := boost_python3 python3.6m。这句话表明了需要python3,但是需要python3的时候,是否还需要指定python2,暂时还没有验证,而且这个boost还没有正确安装上,至少现在没有效果。这个是个bug点,需要再进一步的解决。
如果使用python 的话,with layer要注释掉。

二 补充路径
后面有个whatever else,是对所需路径的补充。后面还有单独对opencv路径的补充,pkg-config的那一行。但是一般的,whatever else补充的会比较全面

三 使用工具编译c++代码
再后面有个DEBUG,需要在源码中查找东西的话,不注释这一句很重要。这样很方便的使用编译工具定位函数。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值