centos升级gcc至4.8

2022-12-27 15:49:51 浏览数 (2)

webkitgtk 的编译要用到4.8 的GCC 人家ubuntu都有编译好的gcc。。。可怜我centos只能编译源代码了。。。

废话不说,速度干活

下载

先下载需要的GCC源码,http://gcc.gnu.org/

以gcc-4.8.3为例 先解压文件

代码语言:javascript复制
cd ~
mkdir src
cd src
wget http://自己写吧
tar xf gcc-4.8.3.tar.gz

到这一步停下,还有软件包没有下载安装,难点重点就在这儿了,这三个软件包的安装顺序不能乱,而且安装后一个软件之前必须指定前面安装的路径,很麻烦!

下载源代码可以执行gcc-4.8.3/contrib下的download_prerequisites脚本,即可自动下载,到时候也好一起编译

GMP GMP is the GNU Multiple Precision Arithmetic Library.

代码语言:javascript复制
cd gmp
./configure --disable-shared --enable-static --prefix=/tmp/gcc
make && make check && make install

MPFR MPFR is the GNU Multiple-precision floating-point rounding library. It depends on GMP.

代码语言:javascript复制
cd mpfr
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc
make && make check && make install

MPC MPC is the GNU Multiple-precision C library. It depends on GMP and MPFR.

代码语言:javascript复制
cd mpc
./configure --disable-shared --enable-static --prefix=/tmp/gcc --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc
make && make check && make install 下面才是主角GCC,他的编译需要在另一个文件夹中进行 

编译

接下来开始编译gcc

代码语言:javascript复制
cd /home/src
mkdir gcc-build
cd gcc-build
../gcc-4.8.3/configure --enable-checking=release --enable-languages=c,c   --disable-multilib --with-gmp=/tmp/gcc --with-mpfr=/tmp/gcc --with-mpc=/tmp/gcc
make -j4 && make check && make install

可能出现的错误:

1./usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file 解决办法:

代码语言:javascript复制
yum install glibc-devel
yum install glibc-devel.i686

Ubuntu下:

apt-get install libc6-dev-i386

2.找不要依赖包 这个嘛。。。自己yum search吧!

ps. 安装之前最好安装一下开发环境

Ubuntu:

代码语言:javascript复制
apt-get install build-essential

centos:

代码语言:javascript复制
yum groupinstall "Development Tools" 

3.检查gcc版本

代码语言:javascript复制
gcc -v 

2014-6-18更新快键安装代码(请以root权限运行)

代码语言:javascript复制
cd ~
mkdir src
cd src
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2
tar jxf gcc-4.8.3.tar.bz2
cd gcc-4.8.3
./contrib/download_prerequisites
cd ..
mkdir gcc-build
cd gcc-build
../gcc-4.8.3/configure --enable-checking=release --enable-languages=c,c   --disable-multilib
make -j4
make check
make install

0 人点赞