配置要求:
系统: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 输入
代码语言:javascript复制yum info gcc
发现可升级的gcc版本低于4.8.1,只能手动编译安装4.8.1版本以上的gcc 编译安装手动下载的包需要用到cmake 输入
代码语言:javascript复制cmake -version
查看cmake版本,若不存在则输入
代码语言:javascript复制yum install cmake
进行安装
编译安装gcc
1 下载gcc4.8.2源码
代码语言:javascript复制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 下载编译源码所需要的依赖项
代码语言:javascript复制cd gcc-4.8.2
./contrib/download_prerequisites
这个命令可以让源码包自动帮我们下载编译gcc所需要的gmp,mpfr和mpc三个依赖项.
3 建立一个空文件夹作为编译的输出目录,并生成Makefile文件
代码语言:javascript复制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 编译
代码语言:javascript复制make -j4
后面-j4是cmake对多核处理器的优化,根据cpu的核心数自己做调整. 漫长的等待.
5 安装
代码语言:javascript复制make install
6 验证安装
重启后查看gcc版本
代码语言:javascript复制gcc -v
若看到4.8.2则表示安装成功
遇到的问题
1 在新的gcc没有安装成功前,不要!不要!!不要!!!卸载低版本的gcc
因为make时还是需要调用gcc的,本人第一次编译时就是因为先把4.4.7版本的gcc卸载了编译到一半是终止了,错误提示是无法识别c
2 gcc的链接问题
两种情况,第一种有2个以上的gcc版本存在,系统自带的版本是低版本的;第二种是在手动编译安装gcc成功后把低版本的gcc卸载了。详细参见本人在安装NVIDIA驱动时碰到的gcc版本切换问题