千家信息网

如何从源代码编译安装gcc

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章给大家介绍如何从源代码编译安装gcc,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我的环境:CentOS 6.2, kernel 3.1.10 x86_64需要的配置:D
千家信息网最后更新 2025年11月07日如何从源代码编译安装gcc

这篇文章给大家介绍如何从源代码编译安装gcc,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

我的环境:CentOS 6.2, kernel 3.1.10 x86_64
需要的配置:Disk space >= 6GB, Mem >= 1GB

从gcc.gnu.org下载gcc-4.7.2.tar.bz2,创建/root/buid-gcc目录,以后所有编译都在这个目录里进行了。
到ftp://gcc.gnu.org/pub/gcc/infrastructure/处下载以下辅助安装包:gmp-4.3.2.tar.bz2, mpfr-2.4.2.tar.bz2, mpc-0.8.1.tar.gz

将以上bz2和gz ball全部放到/root/build-gcc目录下。

1. 编译gmp-4.3.2
展开gmp-4.3.2.tar.bz2:
#tar xf gmp-4.3.2.tar.bz2
#mkdir gmp-build
#cd gmp-build
#../gmp-4.3.2/configure --prefix=/root/rpmbuild/gmp-build --build=x86_64-linux
注意:--build=x86_64-linux选项对于x86_64的平台(比如我用的这个系统)非常重要,否则,无法生成Makefile。
生成Makefile以后,用以下命令编译:
#make
#make check
#make install
这样就把gmp安装到了/root/build-gcc/gmp-build目录,gmp的安装就完成了,/root/build-gcc/gmp-build目录在将来安装其他包的时候会作为参数被传递。

2. 编译mpfr
#tar xf mpfr-2.4.2.tar.bz2
#mkdir mpfr-build
#cd mpfr-build
#../mpfr-2.4.2/configure --prefix=/root/build-gcc/mpfr-build/ --with-gmp=/root/build-gcc/gmp-build
#make
#make check
#make install

3.编译mpc
#tar xf mpc-0.8.1.tar.gz
#mkdir mpc-build
#cd mpc-build
#../mpc-0.8.1/configure --prefix=/root/build-gcc/mpc-build/ --with-gmp=/root/build-gcc/gmp-build/ --with-mpfr=/root/build-gcc/mpfr-build/
#make; make check; make install

4.编译GCC
#tar xf gcc-4.7.2.tar.bz2
#mkdir gcc-build
设置LD_LIBRARY_PATH (可选)
#export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/root/build-gcc/mpc-build/lib:/root/build-gcc/mpfr-build/lib:/root/build-gcc/gmp-build/lib
创建makefile
#../gcc-4.7.2/configure --prefix=/root/build-gcc/gcc-build/ --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/root/build-gcc/gmp-build/ --with-mpfr=/root/build-gcc/mpfr-build/ --with-mpc=/root/build-gcc/mpc-build/

Build过程中可能出现的错误:
有些包没装(虽然之前已经通过命令#yum groupinstall "Development Tools" 安装了"Development Tools"),比如ppl和ppl-devel,可能会出现错误:configure: error: cannot compute suffix of object files: cannot
compile。查看日志发现错误记录:

conftest.c:10:19: error: ppl_c.h: No such file or directory conftest.c:16: error: 'choke' undeclared (first use in this function) conftest.c:16: error: (Each undeclared identifier is reported only once conftest.c:16: error: for each function it appears in.) conftest.c:16: error: expected ';' before 'me'

这些错误可以通过命令:
#yum install ppl ppl-devel
安装这两个包来改正。

另外,如果严谨一点, make完后应该要做make -k check的,但是make -k check会报告缺少autogen这个命令,可问题在于CentOS里很难找到这个autogen,所以,马虎点好了,make完后直接make install。

make install完成后,将会在/root/build-gcc/gcc-build/bin目录下生成最终的可执行文件,如gcc,g++这些。而这时,/root/build-gcc/gcc-build/bin并不存在于PATH中。这就需要将新生成的gcc放到/usr/bin中,让其"可用"了:
#ln -s /root/build-gcc/gcc-build/bin/gcc /usr/bin/gcc-4.7
#ln -s /root/build-gcc/gcc-build/bin/g++ /usr/bin/g++-4.7
注意:以上必须用绝对路径!

其后就可以用gcc-4.7和g++-4.7命令编程序了

关于如何从源代码编译安装gcc就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

编译 目录 命令 错误 生成 源代码 内容 更多 帮助 不错 严谨 重要 马虎 两个 兴趣 参数 可以通过 小伙 小伙伴 平台 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库硬件代理商利润 关于网络安全提倡文明上网 dos服务器功能不可用 计算机网络技术课程名词解释 mc 东方服务器 电信承载网络技术支撑面试 学软件开发北京哪个学校好 新华互联网科技是什么 还原数据库sql语句 cs go国服服务器是韩国的吗 医疗质量控制管理信息数据库 电子商务数据库技术历年真题可复制 citeline数据库全球排名 网络安全手抄报简单漂亮素描纸 虚拟机云服务器 电竞酒店的服务器都放在哪里 查询优化是提高数据库应用性能的 人际传播和网络技术 网络安全与管理教程 山西手机软件开发优选企业 存储未用空间分给数据库 软件开发酒店管理系统 怎样将图片添加到数据库 国家可再生能源数据库 新电脑服务器不稳定怎么解决 asp代码数据库的操作方法 自由互联网络科技 上海网络安全准入控制系统哪家好 湖北医院医疗系统软件开发 实时查看与游戏服务器的网络情况
0