前言
人生在于折腾!
最近突然想体验一下ubuntu16.04的使用感觉,就重装了操作系统。原本在ubuntu14.04的时候,按照实验室欧大神的博客一路畅通,但此次的caffe编译之旅,可谓到处是坑,遂将这些记录下来。
主要安装路线,依然是按照这篇博客的顺序:http://blog.youkuaiyun.com/shiorioxy/article/details/52652831
安装填坑:
由于我在编译opencv时,想进行多版本的管理,故没有将opencv的安装位置设在/usr/local/中,而是自定义的位置,这需要在以后编译caffe时,在makefile.config中对动态链接库进行配置。
其他主要问题:
1. gcc g++版本问题
ubuntu16.04自带的gcc和g++为5.4.0,但是cuda8.0目前还不支持5以后的版本。如果按照欧博为了兼容matlab2014而降级到gcc4.7的话,编译opencv3.0.0时会出现:
/usr/bin/ld:cannot find -latomic 这是因为gcc4.7还没有正式支持atomic,以后才有新的支持。
我在编译opencv的时候降级到4.9.3.编译opencv没有问题了,但是在编译caffe-master时又会出现l类似下面这样的未定义引用错误:
undefined reference to `google::protobuf::io::CodedOutputStream::WriteStringWithSizeToArray