CentOS自带gcc是v4.4.6,在编译TokuDB时要求gcc >= 4.7
下载源码包(v4.8的编译方法也是一样的步骤)
1
wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.0/gcc-4.9.0.tar.bz2
解压
1
tar -jxvf gcc-4.9.0.tar.bz2
下载编译所需的依赖项
1
2
3cd gcc-4.9.0
./contrib/download_prerequisites
cd ..建立编译输出目录
1
mkdir gcc-build-4.9.0
进入此目录,执行以下命令,生成makefile文件
1
2cd gcc-build-4.9.0
../gcc-4.9.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib执行命令进行编译
1
make -j4
安装
1
make install
检查gcc版本
1
2
3
4
5
6
7
8
9[root@localhost home]# gcc -v
使用内建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.9.0/lto-wrapper
目标:x86_64-unknown-linux-gnu
配置为:../gcc-4.9.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
线程模型:posix
gcc 版本 4.9.0 (GCC)
[root@localhost home]#如果发现版本没有变化,远程连入的建议重连再试;新session下还是没有变化可以先进行版本切换,再尝试重连
1
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc 40
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了。
由于编译时没有指定路径,我们可以尝试在默认路径/usr/local/bin下查找新命令的名称1
2
3
4
5
6
7
8
9
10[root@localhost home]# ls /usr/local/bin | grep gcc
gcc
gcc-ar
gcc-nm
gcc-ranlib
x86_64-unknown-linux-gnu-gcc
x86_64-unknown-linux-gnu-gcc-4.9.0
x86_64-unknown-linux-gnu-gcc-ar
x86_64-unknown-linux-gnu-gcc-nm
x86_64-unknown-linux-gnu-gcc-ranlib
参考:
http://blog.csdn.net/dyllove98/article/details/8917485
http://www.cnblogs.com/zhangtingkuo/archive/2013/04/06/3002982.html