在ubuntu上安装较低版本的gcc编译器

最近跟着导师做gcc方面的东西,大家一块看,为了方便都统一换成4.4的版本,为安装gcc-4.4.0着实费了不少时间啊,现在就把我安装过程及遇到的问题和解决方法记录下来,以供后面参考。

1   安装gcc除了一些基本的编译工具如make,gcc等GNU工具之外,还需要3个基本的依赖库:mpc,mpfr,gmp。如果没有安装这三个库,congigure就无法通过。这三个依赖库和GCC源码在GNU的官网上都有,自己下载吧。

2  安装依赖库

        这三个依赖库可以使用apt-get来安装,但是这是自己完全编译GCC,还是建议自己下载源码来安装。并且这三个库安装必须有先后顺序,mpfr依赖gmp,mpc依赖gmp和mpfr.   

       1)install gmp

          # tar -jxvf gmp-4.3.2.tar.bz2

          #mkdir gmp-build

          #cd gmp-build

          #./gmp-4.3.2/configure --prefix=/opt/gmp-4.3.2

          #make  && make check  && sudo make install

        2)install mpfr

          # tar -jxvf mpfr-2.4.2.tar.bz2

          #mkdir mpfr-build

          #cd mpfr-build

          #./mpfr-2.4.2/configure --prefix=/opt/mpfr-3.4.2 --with-gmp=/opt/gmp-4.3.2

          #make  && make check  && sudo make install

         3)install mpc

          # tar -jxvf mpc-1.0.1.tar.bz2

          #mkdir mpc-build

          #cd mpc-build

          #./mpc-1.0.1/configure --prefix=/opt/mpc-1.0.1 --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2

          #make  && make check  && sudo make install

3  install gcc

         #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gmp-4.3.2/lib:/opt/mpfr-2.4.2/lib:/opt/mpc-1.0.1/lib

         #tar -jxvf gcc-4.4.0.tar.bz2

         #mkdir gcc-build

         #cd gcc-build

         #./gcc-4.4.0/configure --prefix=/opt/gcc-4.4.0 --enable-threads=posix  --enable-checking=release --enable-shared --disable-multilib --enable-languages=c,c++,fortran --with-gmp=/opt/gmp-4.3.2 --with-mpfr=/opt/mpfr-2.4.2 --with-mpc=mpc-1.0.1

        #make (这需要好长时间的)

        #sudo make install

       #export PATH=/opt/gcc-4.4.0/bin:$PATH

至此,gcc已经安装好了,可以使用gcc -v查看版本信息

在安装过程中可能会遇到好多错误,在这就不一一列举了,具体可以查看http://blog.csdn.net/gengshenghong/article/details/7498085。

最后使用export设置的环境变量在重启之后会丢失,最好都写在配置文件里。

整个安装过程也可以参考http://www.oschina.net/question/12_49423

PS:

 1) /usr/include/gnu/stubs.h:7:27:error:gnu/stubs-32.h:No such file or directory

          sudo ln -s /usr/include/i386-linux-gnu/gnu/stubs-32.h  /usr/include/gnu/srubs-32.h

 2)libmpfr.so.1: cannot open shared object file: No such file or directory

         使用export设置的环境变量没有弄好,在/etc/profile  或 ~/.bashrc中重新设置。

你可能感兴趣的:(linux)