记我安装Caffe的血泪史(2)

不知不觉居然花了一个星期来安装Caffe。。。真是醉了。

接上一篇blog,本以为编译完cuda,opencv之后问题就差不多了(其实本来是没有什么问题的,但硬是被我搞了一堆事情出来....)

出于对作死的热爱,本人没有选择官方的Caffe进行安装,而是选择了一位韩国大兄弟diy过的Caffe。

然后就是疯狂的报错...一瞬间报错4000行你敢不敢信?多得终端都显示不完...由于我是中文的ubuntu,报错里面还是一堆乱码。

研究了许久没有结果之后我把调试信息的输出改成中文,然后将编译信息输出到文件里....

然而着这并没有什么卵用(妈个鸡)

这是上星期四的安装进度...

一直跳票到前天下午,我,又回来了,面对4000行的报错信息...

这4000行的报错是什么样的呢...

undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string()

就是它!Caffe里几乎所有的cpp代码都报了这个错!

机智的我首先想到是不是编译器版本不对...

于是我把gcc5,gcc4.9,gcc4.8,gcc4.7(包括g++)都试了一遍....

然并卵....

而且网上居然没有人说在安装Caffe的时候遇到过这个问题

本来我也考虑过是不是这位大兄弟的Caffe有问题...所以我也把官方的Caffe也下了下来...

但是...由于Makfile和Makefile.configure需要修改,所以我把这位兄弟的Makefile拷到了官方的Caffe里面...

然后官方的Caffe也报出了一样的错...

你应该已经猜到了...没错,就是这位兄弟的Makefile !

当我把官方原版的Makefile从github上拷下来之后...错误果然没有了!!!

现在的错误变成了

 undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray(std::string const&, unsigned char*)

然而这个错误其实是我自找的....

因为之前报错的时候我怀疑是protobuf的问题...然后我用gcc4.9重新编译了一遍protobuf....

于是我用gcc5编译Caffe的时候果断出错了..

然而我用gcc5重新编译了一遍protobuf之后还是报错...

MDZZ

最后发现是自己忘记make clean了...

所以gcc4.9编译出来的protobuf反复被install上去...真是醉了

其实遇到了很多问题...不过记不太清了...有的问题bing一下就解决了,改改Makefile,配置文件就行了

,有的问题和上述差不多,就是gcc版本不对...

我遇到的最多的问题就是gcc的版本冲突问题,这个很重要,搞清楚了这个caffe的安装就轻松多了。

因为gcc4到gcc5的变化非常大,如果依赖的编译和Caffe的编译使用不同的编译器的话就会报

undefined reference(未定义的引用) to XXXX

所以最好从头到尾使用一个gcc编译器,编译opencv,cuda,caffe,以及所有依赖

在这里给一些tip,希望后来人小心。

1 cuda8 支持gcc5 但是cuda8以下不支持(或者说会出问题,github上有人这么说的,我没试过)

2 ubuntu15.10,16.04通过apt-get安装的都是用gcc5编译过的软件包,在15.10之下的ubuntu通过apt-get应该默认安装gcc4编译的软件包

3 必要的时候就去官网上下载依赖项源码自己手动编译...手动编译并不麻烦(虽然我手动编译之后都在自找麻烦)

4 遇到问题不要百度,百度一下,真的会死!不能google就用bing,不要搜中文,注意看github和stackouflow还有google group上的问题和回答,非常有帮助!

时间: 2024-10-05 20:33:15

记我安装Caffe的血泪史(2)的相关文章

CentOS7下安装caffe(包括ffmpeg\boost\opencv)

因为有项目想采用深度学习,而caffe是深度学习框架中比较理想的一款,并且跨平台,以及可以采用python/matlab的方式进行调用等优势,所以想在服务器上安装,下面就开始了血泪史... 服务器是阿里云的centos7.3,安装caffe,需要安装ffmpeg,boost,opencv等等.本文依照ffmpeg3.3.2 版,boost为1.64版,opencv为2.4.13.2,caffe的版本为最新版为例来说. 本文主要采用自行编译安装各大软件. 首先安装一些依赖包 1 yum insta

【记录】在MAC上安装caffe

---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主要在于Python接口上) 终于找到了解决办法 其实Caffe的安装分两步:安装依赖+编译源码 首先是安装依赖: [必要依赖]: 官方推荐用homebrew来安装: brew install -vd snappy leveldb gflags glog szip lmdb # 添加science源来

ubuntu16.04 安装 caffe cuda 相关流程

不多说了,经历了很多莫名其妙的错误最后终于安装好了,直接放安装脚本: #!/bin/bash #安装时要注意有些库可能安装失败以及安装caffe有和protobuf相关错误时可能需要重新对protobuf进行make install cd /home/zw/softwares #需要事先下载对应版本的cuda sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb sudo apt-get update sudo ap

mac安装caffe

http://www.jianshu.com/p/cc16e2977e27 http://blog.csdn.net/q1w2e3r4470/article/details/47000643 http://blog.csdn.net/tracer9/article/details/50455353 http://www.zhimengzhe.com/mac/327058.html http://blog.csdn.net/feitongxunke/article/details/51388212

caffe:mac10.12安装caffe的步骤

前言:caffe官网中安装caffe时涉及的东西比较多而杂乱,其实有些东西可以忽略掉. 步骤: mac10.12本身自带了python2.7,可以使用系统自带的python 1.安装Homebrew: 在终端中输入  ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2.安装caffe需要用到的一些依赖库,在终端中依次输入下面几行 brew install

TitanX Server安装Caffe

服务器是Ubuntu Server 16.04,可以ssh和vnc连接. 安装caffe步骤 1. 安装anaconda2:这里不能用3,不知什么原因,cmake错误,无法生成pycaffe 2. 安装opencv: a)直接用conda里的opencv比较方便,也不会出现少tiff的问题,命令 conda install opencv b)conda下还少新版的libgcc,若不更新,则make runtest出错,命令 conda install libgcc 3. 编译Caffe cmak

Ubuntu 14.04 安装caffe深度学习框架

简介:如何在ubuntu 14.04 下安装caffe深度学习框架. 注:安装caffe时一定要保持网络状态好,不然会遇到很多麻烦.例如下载不了,各种报错. 一.安装依赖包 $ sudo apt-get install git$ sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler $ sudo apt-get ins

Ubuntu14.04安装caffe指南

操作系统:Ubuntu14.04 64bits 处理器:Intel core i7-4790k 8核4GHz GPU:GTX TITAN X cuda:cuda7.0 NVIDIA驱动:NVIDIA346.72 blas:mkl 安装过程: (一)Ubuntu系统安装 最好安装Ubuntu14.04,对caffe的支持最好,另外,安装完Ubuntu之后不要更新系统. (二)caffe依赖项 sudo apt-get install libprotobuf-dev libleveldb-dev l

Mac OS X10.10 下安装caffe

Mac OS X10.10 下安装caffe [email protected] http://blog.csdn.net/surgewong 在Linux学习 Caffe[1]有一段时间了,也渐渐地对 Caffe 的框架有了一点认识.在 Linux 下学习 Caffe 的人很多,网上的参考资料也想对比较多.安装配置教程很多,出了问题都相对比较好解决.前两天老大弄了一台Mac 笔记本过来,叫我帮他在 Mac上安装 Caffe.穷屌丝以前没有玩过 Mac 笔记本,冲着对 Mac 的这份好奇,开始痛