Linux之gcc源码安装步骤

一、背景

因业务需要源码编译mongodb4.2.x版本,根据mongodb编译要求gcc版本8.0以上,操作系统为centos7.x,因centos7 yum源升级gcc版本最新至4.8.5,所以需要手动源码安装gcc新版本,本文目标为安装gcc8.3.0。GCC源码下载地址https://gcc.gnu.org/。

二、源码安装

1、下载gcc-8.3.0源码

(可从官方镜像地址https://gcc.gnu.org/mirrors.html选择适合自己的下载地址)
#cd /usr/local/src
#wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
(本实验中从如上连接下载,下载速度不是很快,文件119M下载花费了1小时+)

2、解压源码包

#tar zxvf gcc-8.3.0.tar.gz
#cd gcc-8.3.0

3、下载依赖包

#./contrib/download_prerequisites
需要下载的依赖包如下,下载路径ftp://gcc.gnu.org/pub/gcc/infrastructure/:
gmp=‘gmp-6.1.0.tar.bz2’
mpfr=‘mpfr-3.1.4.tar.bz2’
mpc=‘mpc-1.0.3.tar.gz’
isl=‘isl-0.18.tar.bz2’

4、下载时间比较长,可以另开窗口安装bzip解压工具

(如果未安装bzip2,因下载的依赖包格式为bz2)
#yum install bzip2

5、创建存放编译文件的目录

#mkdir gcc-build-8.3.0
#cd gcc-build-8.3.0
#…/gcc-8.3.0/configure --prefix=/usr --enable-multilib --enable-languages=c,c++ -disable-multilib

6、上一步执行成功后开始编译(此步骤耗时非常久,虚拟机测试一下午3小时+未完成,第二日检查已编译成功)

#make

7、上一步成功后安装

#make install

8、安装成功后使用命令检查gcc版本

#gcc -v
在这里插入图片描述

三、番外篇(使用第三方YUM源升级gcc)

升级gcc的一个更加简单的做法,但是这个做法的缺点是只支持64位程序而无32位支持。
  采用CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。还有devtoolset-4(gcc 5.2)及之前的版本都已经结束支持,只能通过其他方法安装。
  本次升级到gcc8,命令如下:
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash  #启动gcc8
  你要哪个版本的就把第2条命令中的数字8改成你要的主版本号就可以了。这样升级到的是最新的版本。例如8升级到的是8.2.0而不是8.1。
  通过scl命令启动gcc,这个只是暂时的,当你的shell关闭后或者重启就会恢复原来的版本,要想一直使用升级后的版本可以使用如下命令:
echo “source /opt/rh/devtoolset-8/enable” >>/etc/profile
如上部分来自于链接https://www.cnblogs.com/ToBeExpert/p/10297697.html,经测试可以正常升级到gcc8

四、QA:

1、error: C++ preprocessor “/lib/cpp” fails sanity check 问题的解决

问题的根源是缺少必要的C++库。如果是CentOS系统,运行,如下命令解决:
#yum install glibc-headers
#yum install gcc-c++

2、makeinfo:could not find this command。

需要安装texinfo,该软件是一个文档系统,可用于创建PDF、HTML等文档
#yum -y install texinfo

3、下载依赖包时间较长

如果中途CRTL+C中断,重新执行下载后依赖包名存在,但是不完整需要删除重新下载,可以在链接下ftp://gcc.gnu.org/pub/gcc/infrastructure/直接找到对应的包名,复制链接后,使用wget下载,

Linux安装GCC的过程可以按照以下步骤进行: 1. 首先,根据需要选择要安装GCC版本。在这个例子中,我们将以在Redhat Linux安装GCC4.1.2为例。 2. 确保系统上安装了相应的依赖库和工具,例如make、glibc-devel等。这些依赖项可能因Linux发行版而有所不同,可以使用包管理器来安装它们。 3. 下载GCC源代码,可以从GCC官方网站或者其他可信的镜像站点上下载。将源代码解压到一个合适的目录中。 4. 进入解压后的GCC源代码目录,并创建一个用于构建GCC的目录,例如/usr/local/gcc-4.1.2。 5. 运行configure脚本来配置GCC安装选项。可以使用--prefix选项指定安装的目标路径,例如--prefix=/usr/local/gcc-4.1.2。 6. 运行make命令来编译GCC。这个过程可能需要一些时间,取决于系统的配置和硬件性能。 7. 在编译完成后,运行make install命令来安装GCC到指定的目标路径。 8. 安装完成后,需要进行一些设置工作才能使GCC正常工作。这包括将安装路径添加到系统的环境变量中,例如将/usr/local/gcc-4.1.2/bin添加到PATH变量中。 9. 验证GCC是否成功安装,可以运行gcc --version命令来检查GCC的版本信息。 请注意,以上步骤仅适用于在Redhat Linux安装GCC4.1.2的示例。在其他Linux发行版上安装GCC可能会有所不同,具体的步骤和命令可能会有所差异。建议参考相应发行版的文档或官方网站获取更详细的安装指南。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒悦sunsite

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值