gcc在Ubuntu 12.04.5 LTS中的构建安装

来源:互联网 发布:淘宝网品牌 编辑:程序博客网 时间:2024/06/06 20:37
gcc的安装依赖于GMP、MPFR、MPC这三个库,我这次是用的版本是mpc-1.0.2、gmp-4.3.2和mpfr-3.1.2,安装的gcc版本是gcc-9.4.2,宿主系统是Ubuntu 12.04.5 LTS
应先安装gmp-4.3.2,此库依赖于m2,所以要先下载m4安装包,进行构建安装。
下载m4-1.4.16.tar.bz2,解压到m4-1.4.16,在m4-1.4.16同目录建立文件夹m4-1.4.16-build,用于构建。进入此文件夹,依次:
../m4-1.4.16/configure (可使用--prefix=指定安装目录,默认/usr/local/include 和/usr/local/lib)
make
make check
make install

下面开始构建gmp-4.3.2。将gmp-4.3.2.tar.bz2解压到gmp-4.3.2,在同目录下建立gmp-4.3.2-build,进入此文件夹,依次:
../gmp-4.3.2/configure --prefix=/usr/local/gmp-4.3.2
make
make check
make install

下面开始构建mpfr-3.1.2。将mpfr-3.1.2.tar.gz解压到mpfr-3.1.2,在同目录下建立mpfr-3.1.2-build,进入此文件夹,依次:
../mpfr-3.1.2/configure  --prefix=/usr/local/mpfr-3.1.2 --with-gmp=/usr/local/gmp-4.3.2
make
make check
make install

下面开始构建mpc-1.0.2,将mpc-1.0.2.tar.gz解压到mpc-1.0.2,在同目录下建立mpc-1.0.2-build,进入此文件夹,依次:
../mpc-1.0.2/configure --prefix=/usr/local/mpc-1.0.2 --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-3.1.2
make
make check
make install

至此,gcc依赖的三个库已经全部安装完毕可以进行下一步的gcc构建安装了。
首先在GNU官网上下载gcc的安装压缩包gcc-4.9.2.tar.gz,解压到gcc-4.9.2。在gcc-4.9.2同目录下建立gcc-4.9.2-build,进入此目录,依次:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.2/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-3.1.2/lib
./gcc-4.9.2/configure --prefix=/usr/local/gcc-4.9.2 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-3.1.2 --with-mpc=/usr/local/mpc-1.0.2
make && make install(make的具体时间没有计算,要以小时为单位,此处没有进行make check,可自己选择是否进行)

现在,gcc-4.9.2已安装好了,安装目录是/usr/local/gcc-4.9.2。此时,如果使用gcc -v或g++ -v则显示的是安装以前的版本。可以在使用新版本时使用/usr/local/gcc-4.9.2/bin/gcc 或 /usr/local/gcc-4.9.2/bin/g++ 直接指定要使用gcc版本,但这样很麻烦,可以在/usr/bin中建立以上两个文件的软链接

sudo ln -s /usr/local/gcc-4.4.3/bin/gcc gcc49
sudo ln -s /usr/local/gcc-4.4.3/bin/g++ g++49

最后将安装好的三个库和gcc-4.9.2的库的路径添加到环境变量LD_LIBRARY_PATH中。在/etc/bash.bashrc中添加如下命令
LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.4.3/lib
export LD_LIBRARY_PATH

这样开机后能将上面的路径直接添加到环境变量中。

到此为止,可以用gcc49和g++49来编译c和c++的源文件了。我最开始想安装新版本的gcc是由于想使用c++11标准的c++编译器,但是Ubuntu 12.04.5 LTS默认安装的是gcc-4.6.3。我想通过apt-get来安装更新,但可能是源的原因,显示我的gcc已经是最新的版本。于是决定自己通过源文件自己安装。最开始在官网上看面看关于构建安装的介绍文档,但由于我是个新手,对于里面的有些内容不是很理解。之后有结合网上广大网友写的文章,终于安装成功。于是写了一下我安装的总结,希望对别人有所帮助。
0 0
原创粉丝点击