(1)RHL5.6的系统,自带的gcc4.1.2,打算升级到4.7.1
(2)download gcc4.7.1 ftp://gnu.mirror.iweb.com/gnu/gcc/
(3)install gmp
下载gmp: http://gmplib.org/
# mkdir -p /opt/gmp-4.3.2
#tar -jxvf gmp-4.3.2.tar.bz2
#cd gmp-4.3.2
#./configure --prefix=/opt/gmp-4.3.2
#make && make check && make install
(4)install mpfr
下载mpfr http://www.mpfr.org/mpfr-current/#download
#mkdir -p /opt/mpfr-2.4.2
#tar -jxvf mpfr-2.4.2.tar.bz2
#cd mpfr-2.4.2
#./configure --prefix=/opt/mpfr-2.4.2 --with-gmp=/opt/gmp-4.3.2
#make && make check && make install
(5)install mpc
下载 http://www.multiprecision.org/index.php?prog=mpc&page=download
#mkdir -p /opt/mpc-0.8.1
#tar -zxvf mpc-0.8.1.tar.gz
#cd mpc-0.8.1
#./configure --prefix=/opt/mpc-0.8.1 --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2
#make && make check && make install
(6) build gcc
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/mpc-0.8.1/lib
(7)install guile
yum install guile (RHL5 yum 没有注册, 必须换成centos5的yum,具体方法见前文)
(8)install autogen
下载 http://rpm.pbone.net/index.php3/stat/26/dist/55/size/1314516/name/autogen-5.8.9-1.el5.kb.src.rpm
.src.rpm 安装方法
#rpm -i you-package.src.rpm
#cd /usr/src/redhat/SPECS (前两步和方法一相同)
# rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等) 在这个目录下,有一个新的rpm 包,这个是编译好的二进制文件。执行:
#rpm -i new-package.rpm即可安装完成。引用 http://blog.csdn.net/lphpc/article/details/565823
(9)# mkdir -p /opt/gcc-4.7#mkdir gcc_build
#../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-libgcj-multifile --enable-languages=c,c++,objc,obj-c++,java,fortran --enable-java-awt=gtk --disable-dssi --disable-plugin --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --with-cpu=generic
#make -j8
#make && make check
# make install
(10) 参考 http://coolangelan.blog.163.com/blog/static/104161247200904502222/
若想重新编译 make clean 清除上次编译遗留下的文件
uninstallation
若旧版本是 rpm版的,查看版本号 gcc --version 然后 rpm -e 删除了
若旧版是用源码安装的,whereis gcc 或者 which gcc 来查看所在路径,删除即可
接着设置工具链:
命令文件符号连接到 /usr/bin 目录下:
-
# cd /usr/bin
-
# ln -sv /usr/local/gcc-4.7.1/bin/gcc gcc
-
# ln -sv /usr/local/gcc-4.7.1/bin/g++ g++
-
# ln -sv /usr/local/gcc-4.7.1/bin/gcj gcj
库文件设置:
将/usr/local/gcc-4.7.1/lib 路径添加到环境变量LD_LIBRARY_PATH中
-
#vi /etc/profile
添加下列代码
setenv LD_LIBRARY_PATH /usr/local/gcc-4.7.1/lib:$LD_LIBRARY_PATH
清理现场
-
# rm -rf gcc-4.7.1
-
# rm -rf gcc-b
可以 用 gcc -v 查看是4.7.1版本不