虚拟机上redhat enterprise 5 linux内核版本为2.6.18-8.el5(终端下使用uname -r),gcc版本为4.1.1,由于最近需要了解netfilter框架,但是已有的gcc和内核已经不能满足需要,故需要将gcc进行升级,重新编译高版本的linux内核(gcc4.1.1好像不能编译高版本的linux内核),写下此文,作为编译安装过程中的记录。
准备材料:gmp-4.3.2.tar.bz2,mpfr-2.4.2.tar.bz2和gcc-4.4.3.tar.gz。安装gcc(我安装的版本为4.4.3)前,需要安装gmp和mpfr,所以应当先编译安装gmp和mpfr。
压缩文件可以再官方网站下载:GMP的网站(http://gmplib.org/)、mprf的网站(http://www.mpfr.org/)。
1,安装GMP
#bunzip2 -d gmp-4.3.2.tar.bz2 //解压,压缩文件gmp-4.3.2.tar.bz2,我放在/tmp目录下的,bunzip2命令得到gmp-4.3.2.t文件
#tar xvf gmp-4.3.2.tar //解包,得到源代码目录gmp-4.3.2
#cd gmp-4.3.2/
#./configure //根据用户输入参数配置Makefile文件,此处没有输入参数
#make //编译,得到目标文件、库文件、头文件和代码等
#make check //这一步用来查看有没有文件不匹配或缺失
#make install //安装,此步骤将库文件、头文件和可执行文件(如有)等,拷贝到--prefix选项指定的安装目录下
//默认安装目录为/usr/local
2,安装MPFR
//解压mpfr-2.4.2.tar.bz2 tar,得到mpfr-2.4.2.tar打包文件
#bunzip2 -d mpfr-2.4.2.tar.bz2
//解包,得到源代码目录mpfr-2.4.2
#tar xvf gmp-4.3.2.tar
//转到源代码目录mpfr-2.4.2
#cd gmp-4.3.2/
//配置(此处没有输入参数)
#./configure
#make //编译,得到目标文件、库文件、头文件和代码等
#make check //这一步用来查看有没有文件不匹配或缺失
#make install //安装,此步骤将库文件、头文件和可执行文件(如有)等,拷贝到--prefix选项指定的安装目录下