不知不觉居然花了一个星期来安装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上的问题和回答,非常有帮助!

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

  1. 记我安装Caffe的血泪史(1)

    Caffe的安装我主要参考的是这篇博客 http://blog.csdn.net/ubunfans/article/details/47724341 按照他的方法我很快就安好了cuda8(为后面安装了 ...

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

    因为有项目想采用深度学习,而caffe是深度学习框架中比较理想的一款,并且跨平台,以及可以采用python/matlab的方式进行调用等优势,所以想在服务器上安装,下面就开始了血泪史... 服务器是阿 ...

  3. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)

    0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windo ...

  4. Caffe + Ubuntu 14.04 64bit + 无CUDA(linux下安装caffe(无cuda)以及python接口)

    安装Caffe指导书 环境: Linux 64位 显卡为Intel + AMD,非英伟达显卡 无GPU 一. 安装准备工作 1. 以管理员身份登录 在左上角点击图标,搜索terminal(即终端),以 ...

  5. Ubuntu 14.04上安装caffe

    本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...

  6. [caffe]linux下安装caffe(无cuda)以及python接口

    昨天在mac上折腾了一天都没有安装成功,晚上在mac上装了一个ParallelDesktop虚拟机,然后装了linux,十分钟就安装好了,我也是醉了=.= 主要过程稍微记录一下: 1.安装BLAS s ...

  7. 20160512关于mac安装caffe的记录

    记得2015年在mac系统上安装过一次caffe,非常顺利,但是最近群里许多同学反映mac安装caffe出现了各种问题,同时我也在帮助别人安装caffe的时候也遇到了一些坑,不再像以前这么顺利了.估计 ...

  8. docker安装caffe

    [最近一直想要学习caffe,但是苦苦纠结于环境安装不上,真的是第一步都迈不出去,还好有docker的存在!下面,对本人如何利用docker安装caffe做以简单叙述,不属于教程,只是记录自己都做了什 ...

  9. 【记录】在MAC上安装caffe

    ---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主 ...

随机推荐

  1. firstChild与firstElementChild

    相同点: 都是获取父元素下的第一个节点对象 不同点: firstChild: IE6.7.8 第一个元素节点; 非IE6.7.8:返回第一个元素节点或文本节点 firstElementChild: I ...

  2. 如何创建一个asp页面

    Active Server Pages(ASP)文件是以 .asp 为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合: 文本 HTML 标记 ASP 脚本命令 创建 .asp 文件非常容易. ...

  3. codeforces 277 A Learning Languages 【DFS 】

    n个人,每个人会一些语言,两个人只要有会一门相同的语言就可以交流,问为了让这n个人都交流,至少还得学多少门语言 先根据n个人之间他们会的语言,建边 再dfs找出有多少个联通块ans,再加ans-1条边 ...

  4. Unity 获取坐标函数 坐标转换函数

    获取世界坐标:transform.position 获取本地坐标:transform.localPosition 获取鼠标坐标:Input.mousePosition 获取手指触摸区域坐标:Input ...

  5. d3基础图形模板笔记

    散点图(scatter plot): http://bl.ocks.org/weiglemc/6185069 雷达图(radar): http://xgfe.github.io/uploads/che ...

  6. Laravel 多条件搜索查询

    做查询功能时,输入的关键词有的为空,有的有值,如何实现多功能查询呢?这里介绍一种方法.(基于laravel) 原理很简单,第一步:判断接收的值,第二步:写查询语句.具体实现如下: //首先,创建句柄: ...

  7. FZU 1692 Key problem( 循环矩阵优化 + 矩阵快速幂)

    链接:传送门 题意: n个小朋友围成一个环( 2 <= n <= 100 )然后进行m次的游戏. 一开始,第 i 个小朋友有 Ai 个苹果. 定义游戏的规则为:每一次游戏处于 i 位置的小 ...

  8. BZOJ 1176/2683 Mokia (三维偏序CDQ+树状数组)

    题目大意: 洛谷传送门 三维偏序裸题.. 每次操作都看成一个三元组$<x,y,t>$,表示$x,y$坐标和操作时间$t $ 询问操作拆成$4$个容斥 接下来就是$CDQ$了,外层按t排序, ...

  9. ItChat与图灵机器人的结合

    前景: 我在知乎关注一位大佬 名字叫 LittleCoder 我是在他开发ItChat包时关注的 ItChat已经完成了微信的个人账号的API接口 已经实现了实时获取用户的即时信息并自动化进行回应 后 ...

  10. linux下静态库的生成和使用

    一.静态库概念 1.库是预编译的目标文件(object  files)的集合,它们可以被链接进程序.静态库以后缀为”.a”的特殊的存档(archive file)存储. 2.标准系统库可在目录/usr ...