Ubuntu Server 10.04.4 64bit手动编译gcc-4.5.1
2014-01-26 16:33
246 查看
最近在搞点研究,在ubuntu Server上用gcc编译一个比较小众的软件,然后你懂得,万恶的版本问题啊!只能乖乖的手动编译低版本的gcc了 ~
首先,介绍一下手动编译过程中的一些版本问题,并且强烈建议不要随意更换版本!
操作系统:Ubuntu Server 12.04.4 64bit(安装在虚拟机中)
gcc:编译前版本4.4.3,编译后版本4.5.1
安装GCC需要使用到3个辅助的软件包,分别为gmp、mpfr、mpc,到官网下载最新版即可:
gmp:http://gmplib.org、http://ftp.gnu.org/gnu/gmp/(我使用的版本5.1.1)
mpfr:http://www.mpfr.org、http://ftp.gnu.org/gnu/mpfr/(我使用的版本3.1.1)
mpc: http://www.multiprecision.org(我使用的版本1.0.1)
m4:
即可。
另外,还需要安装2两个额外的软件,就是g++-multilib和zip:
1.1 安装GMP
因为MPFR和MPC都依赖于GMP包,所以首先安装GMP。
建议:在Linux下手动编译软件时,要养成建立build目录的好习惯,所以建立一个gmp-1.0.1-build目录
如果在执行configure的时提示错误:
说明我们还要安装m4这个库。
检查GMP是否安装成功:
出现以下表示成功了:
1.2 安装MPFR
1.3 安装MPC
1.4 设置环境变量
需要的库都安装完后,为了防止编译gcc时找不到这三个库,所以需要确认库位置是否在环境变量中 LD_LIBRARY_PATH中
如果没有的话,手动添加即可
1.4.1 临时办法
1.4.2 永久办法
为了以后使用的时候不再设置,可以修改/etc/bashprofile或者/etc/profile。这里修改的是全局变量,对所有用户有效,
修改~/.bashprofile 和~/.profile可以修改用户的全局变量。
在文件末尾添加以下两句:
保存退出
二、开始安装GCC
最好是在gcc-4.5.1平级的目录中建一个gcc-build目录,以防编译失败导致的问题。编译过程很传统,但比较缓慢,由于我将gmp、mpfr、mpc都安装在了/usr/local目录中,所以需要这样配置:
$ ../gcc-4.5.1/configure --prefix=/usr --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
这里建议大家一定要选择prefix为/usr,因为Ubuntu中apt-get安装的gcc就在这里,如果按照默认的/usr/local那么原来的gcc 4.4就还不会被完全更新,会造成很多不必要的麻烦。
这个过程会非常缓慢(或许是我用的虚拟机),需要几个小时,请做好心理准备~
安装完成后,
显示如下界面标注安装成功~
四、最后,随便编写一个小程序,使用gcc来测试一下吧!
首先,介绍一下手动编译过程中的一些版本问题,并且强烈建议不要随意更换版本!
操作系统:Ubuntu Server 12.04.4 64bit(安装在虚拟机中)
gcc:编译前版本4.4.3,编译后版本4.5.1
安装GCC需要使用到3个辅助的软件包,分别为gmp、mpfr、mpc,到官网下载最新版即可:
gmp:http://gmplib.org、http://ftp.gnu.org/gnu/gmp/(我使用的版本5.1.1)
mpfr:http://www.mpfr.org、http://ftp.gnu.org/gnu/mpfr/(我使用的版本3.1.1)
mpc: http://www.multiprecision.org(我使用的版本1.0.1)
m4:
sudo apt-get install m4
即可。
另外,还需要安装2两个额外的软件,就是g++-multilib和zip:
$ sudo apt-get install g++-multilib zip
1.1 安装GMP
因为MPFR和MPC都依赖于GMP包,所以首先安装GMP。
$ tar -xvf gmp-5.1.1.tar.bz2
建议:在Linux下手动编译软件时,要养成建立build目录的好习惯,所以建立一个gmp-1.0.1-build目录
$ mkdir gmp-5.1.1-build $ cd gmp-5.1.1-build $./../gmp-5.1.1/configure (可以使用配置参数--prefix=指定安装位置,这里使用默认 /usr/local/include 和/usr/local/lib) $make $make check (这一步用来确保编译正确) $sudo make install
如果在执行configure的时提示错误:
checking forsuitable m4... configure: error: No usable m4 in$PATH or /usr/5bin
说明我们还要安装m4这个库。
sudo apt-get install m4
检查GMP是否安装成功:
$ ls /usr/local/lib/libgmp*
出现以下表示成功了:
/usr/local/lib/libgmp.a /usr/local/lib/libgmp.so.10 /usr/local/lib/libgmp.la /usr/local/lib/libgmp.so.10.0.5 /usr/local/lib/libgmp.so |
$ tar -xvf mpfr-3.1.1 $ mkdir mpfr-3.1.1-build $ cd mpfr-3.1.1-build $ ./../mpfr-3.1.1/configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/local/lib (由于mpfr依赖于gmp这个库,所以在configure时,需要设置好gmp库所在的位置,供安装mpfr库时使用。) $ make $ make check(不知什么原因,在这一步的make check报告出错,说gmp找不到,可以暂时不理,因为依旧可以安装成功) $ sudomakeinstall
1.3 安装MPC
$ tar -xvf mpc-1.0.1 $ mkdir mpc-1.0.1-build $ cd mpc-1.0.1-build $ ./../mpc-1.0.1/configure --with-gmp-include=/usr/local/include --with-gmp-lib=/usr/loca/lib --with-mpfr-include=/usr/local/include --with-mpfr-lib=/usr/loca/lib $ make
$ sudo make install
1.4 设置环境变量
需要的库都安装完后,为了防止编译gcc时找不到这三个库,所以需要确认库位置是否在环境变量中 LD_LIBRARY_PATH中
$ echo $LD_LIBRARY_PATH
如果没有的话,手动添加即可
1.4.1 临时办法
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
1.4.2 永久办法
为了以后使用的时候不再设置,可以修改/etc/bashprofile或者/etc/profile。这里修改的是全局变量,对所有用户有效,
修改~/.bashprofile 和~/.profile可以修改用户的全局变量。
$ sudo vim /etc/profile
在文件末尾添加以下两句:
export LD_LIBRARY_PATH=/usr/local/libLD_LIBRARYPATH=:/usr/local/gcc-4.7.2/lib:$LD_LIBRARYPATH
保存退出
$ source /etc/profile
二、开始安装GCC
最好是在gcc-4.5.1平级的目录中建一个gcc-build目录,以防编译失败导致的问题。编译过程很传统,但比较缓慢,由于我将gmp、mpfr、mpc都安装在了/usr/local目录中,所以需要这样配置:
$ ../gcc-4.5.1/configure --prefix=/usr --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
这里建议大家一定要选择prefix为/usr,因为Ubuntu中apt-get安装的gcc就在这里,如果按照默认的/usr/local那么原来的gcc 4.4就还不会被完全更新,会造成很多不必要的麻烦。
这个过程会非常缓慢(或许是我用的虚拟机),需要几个小时,请做好心理准备~
安装完成后,
gcc -v
显示如下界面标注安装成功~
四、最后,随便编写一个小程序,使用gcc来测试一下吧!
相关文章推荐
- ubuntu16.4 64bit系统安装arm-linux-gcc 4.5.1交叉编译环境
- Ubuntu 12.04 64bit 安装编译GCC 4.1.2 绝对原创
- 在Ubuntu 14.04 64bit上编译安装Crtmpserver trunk svn 811版本!
- Ubuntu 12.04 64bit 下安装编译GCC 4.1.2 绝对原创
- 全志A10编译服务器ubuntu10.04.4 64bit安装及配置
- Ubuntu 14.04 64bit上编译安装MonaServer并测试
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- [ubuntu 10.04 64bit][android]编译时报错:arm-eabi-gcc command not found
- Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器
- Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器
- Ubuntu 10.04 下编译交叉工具链GCC 4.5.1
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- Ubuntu 10.04 下编译交叉工具链arm-linux-gcc 4.5.1
- Ubuntu 14.04 64bit上编译安装simple-rtmp-server(srs)服务器
- Ubuntu 16.04(64bit)嵌入式交叉编译环境搭建arm-linux-gcc使用
- Ubuntu手动编译GCC
- arm-linux-gcc-4.5.1-v6-vfp-20101103,ubuntu,64bit 安装成功记
- ubuntu中手动编译源码安装Xorg-server过程中依赖关系的解决
- Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解
- ok6410[001] Ubuntu 16.04[64bit]嵌入式交叉编译环境arm-linux-gcc搭建过程图解