出于需求系统自带的是gcc4.4.7,版本太低无法编译,被逼无奈只能升级gcc了,碰到很多坑,下载这个玩意就用了不少时间。
1
2
3
4
5
6
|
[root@VM_222_92_centos ~]
# gcc -v
Using built-
in
specs.
Target: x86_64-redhat-linux
Configured with: ..
/configure
--prefix=
/usr
--mandir=
/usr/share/man
--infodir=
/usr/share/info
--with-bugurl=http:
//bugzilla
.redhat.com
/bugzilla
--
enable
-bootstrap --
enable
-shared --
enable
-threads=posix --
enable
-checking=release --with-system-zlib --
enable
-__cxa_atexit --disable-libunwind-exceptions --
enable
-gnu-unique-object --
enable
-languages=c,c++,objc,obj-c++,java,fortran,ada --
enable
-java-awt=gtk --disable-dssi --with-java-home=
/usr/lib/jvm/java-1
.5.0-gcj-1.5.0.0
/jre
--
enable
-libgcj-multifile --
enable
-java-maintainer-mode --with-ecj-jar=
/usr/share/java/eclipse-ecj
.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
|
1.下载源码包
1
2
|
wget http:
//ftp
.gnu.org
/gnu/gcc/gcc-4
.8.0
/gcc-4
.8.0.
tar
.bz2
tar
-jxvf gcc-4.8.0.
tar
.bz2
|
2.下载编译所需依赖库
1
2
3
|
cd
gcc-4.8.0
.
/contrib/download_prerequisites
cd
..
|
3.建立编译输出目录
1
|
mkdir
gcc-build-4.8.0
|
4.进入此目录,执行以下命令,生成makefile文件
1
2
|
cd
gcc-build-4.8.0
..
/gcc-4
.8.0
/configure
--
enable
-checking=release --
enable
-languages=c,c++ --disable-multilib
|
5.编译
1
2
|
# j 后面的是核心数,编译速度会比较快
make
-j4
|
6.安装
1
|
sudo
make
install
|
7.切换GCC到新版
确定新安装的GCC的路径,一般默认在/usr/local/bin下。可以先updatedb,然后locate gcc-4.8|tail找一下
1
|
ls
/usr/local/bin
|
grep
gcc
|
添加新GCC到可选项,倒数第三个是名字,倒数第二个参数为新GCC路径,最后一个参数40为优先级,设大一些之后就自动使用新版了
1
|
update-alternatives --
install
/usr/bin/gcc
gcc
/usr/local/bin/i686-pc-linux-gnu-gcc
40
|
8.确认当前版本已经切换为新版.
1
|
gcc -
v
|