如果可以通过apt来安装的话,尽量不要手工编译了,手工编译是最后的选择。用apt安装,只需要输入一条命令:
sudo apt-get install gcc
手工编译的话,gcc和其他软件包存在如下的依赖关系:
因此各个软件包的安装顺序是m4 --> gmp --> mpfr --> mpc --> gcc。编译之前,请先下载各软件包的源码压缩包。
编译
各个软件包的编译步骤大同小异,这里以m4为例。假设下载的m4文件名为m4-1.4.16.tar.gz,存放在~/gcc_depend
目录下。先进入到存放目录,解压:
cd ~/gcc_depend
tar zxvf m4-1.4.16.tar.gz
我们把m4安装到/usr/local
目录下。先创建目录,并运行配置文件,生成Makefile
sudo mkdir /usr/local/m4-1.4.16 # 创建安装目录
cd /usr/local/m4-1.4.16 # 切换到安装目录
sudo ~/gcc_depend/m4-1.4.16/configure --prefix=/usr/local/m4-1.4.16 # 通过configure脚本来生成Makefile
编译,这一步在安装目录下完成:
sudo make
sudo make install
编译完成后,检查是否有误:
sudo make check # 编译和运行测试用例
如果所有测试用例都pass了,说明编译成功。
其他软件包的编译过程大致如此,总结为如下几步:
- 1、解压源码
- 2、创建安装目录,并切换到安装目录,通过configure脚本来生成Makefile
- 3、编译
- 4、检查测试用例
注意事项
- 1、安装mpfr时,可能会提示找不到gmp,这个时候要在
--prefix=安装目录
后再加上--with-gmp=/usr/local/gmp-xxx
,其中gmp-xxx
为gmp安装目录;安装mpc时可能会有同样的问题,也要这样处理。 - 2、 每次安装完一个包,要把安装目录下的lib目录添加到环境变量
LD_LIBRARY_PATH
中。