rhel6.4升级gcc到4.7.2
默认的版本是4.4.7,需要升级到4.7.2
$ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2 $ tar -jxf gmp-4.3.2.tar.bz2 $ mkdir /usr/local/gcc $ cd gmp-4.3.2 $ ./configure --prefix=/usr/local/gcc/gmp-4.3.2 --build=x86_64-linux $ make -j4 $ make check $ sudo make install $ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2 $ tar -jxf mpfr-2.4.2.tar.bz2 $ cd mpfr-2.4.2 $ ./configure --prefix=/usr/local/gcc/mpfr-2.4.2 --with-gmp=/usr/local/gcc/gmp-4.3.2 --build=x86_64-linux $ make -j4 $ make check $ sudo make install $ wget ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz $ tar -zxf mpc-0.8.1.tar.gz $ cd mpc-0.8.1 $ ./configure --prefix=/usr/local/gcc/mpc-0.8.1 --with-gmp=/usr/local/gcc/gmp-4.3.2 --with-mpfr=/usr/local/gcc/mpfr-2.4.2 --build=x86_64-linux $ make -j4 $ make check $ sudo make install $ wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.7.2/gcc-4.7.2.tar.gz $ tar -zxf gcc-4.7.2.tar.gz $ mkdir gcc-build $ cd gcc-build $ ../gcc-4.7.2/configure --prefix=/usr/local/gcc/gcc-4.7.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gcc/gmp-4.3.2 --with-mpfr=/usr/local/gcc/mpfr-2.4.2 --with-mpc=/usr/local/gcc/mpc-0.8.1 --build=x86_64-linux $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc/mpc-0.8.1/lib:/usr/local/gcc/gmp-4.3.2/lib:/usr/local/gcc/mpfr-2.4.2/lib $ make -j4 $ make check $ sudo make install
修改原来的gcc
# cd /usr/bin # mv gcc gcc447 # ln -s /usr/local/gcc/gcc-4.7.2/bin/gcc gcc # ln -s /usr/local/gcc/gcc-4.7.2/bin/g++ g++
修改 /etc/bashrc, 增加:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gcc/mpc-0.8.1/lib:/usr/local/gcc/gmp-4.3.2/lib:/usr/local/gcc/mpfr-2.4.2/lib:/usr/local/gcc/gcc-4.7.2/lib export LD_LIBRARY_PATH
重启系统:
# reboot