配置要求:
系统:centos6.5
目标:基于CUDA8.0+Opencv3.1+Cudnnv5.1+python3.6接口的caffe框架
gcc是linux编译安装必备的编译器
CentOS6.5自带的gcc版本是4.4.7,并不支持C++11
查询后可得需要版本高于4.8.1的gcc才能支持C++11
输入
yum info gcc
发现可升级的gcc版本低于4.8.1,只能手动编译安装4.8.1版本以上的gcc
编译安装手动下载的包需要用到cmake
输入
cmake -version
查看cmake版本,若不存在则输入
yum install cmake
进行安装
编译安装gcc
1 下载gcc4.8.2源码
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
tar -jxvf gcc-4.8.2.tar.bz2
2 下载编译源码所需要的依赖项
cd gcc-4.8.2
./contrib/download_prerequisites
这个命令可以让源码包自动帮我们下载编译gcc所需要的gmp,mpfr和mpc三个依赖项.
3 建立一个空文件夹作为编译的输出目录,并生成Makefile文件
mkdir build -gcc-4.8.2
cd build -gcc-4.8.2
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
../configure的意思是从这个文件夹的上一级文件夹执行configure文件,后面是所要设置的初始详见configure –help.
4 编译
make -j4
后面-j4是cmake对多核处理器的优化,根据cpu的核心数自己做调整.
漫长的等待.
5 安装
make install
6 验证安装
重启后查看gcc版本
gcc -v
若看到4.8.2则表示安装成功
遇到的问题
1 在新的gcc没有安装成功前,不要!不要!!不要!!!卸载低版本的gcc
因为make时还是需要调用gcc的,本人第一次编译时就是因为先把4.4.7版本的gcc卸载了编译到一半是终止了,错误提示是无法识别c++
2 gcc的链接问题
两种情况,第一种有2个以上的gcc版本存在,系统自带的版本是低版本的;第二种是在手动编译安装gcc成功后把低版本的gcc卸载了。详细参见本人在安装NVIDIA驱动时碰到的gcc版本切换问题