Linux 本地编译安装 gcc9

这里演示非sudo权限的本地linux 用户安装 gcc9

下载源代码:

可以从GCC官方网站或其镜像站点下载GCC 9的源代码压缩包。使用wget或curl命令,这通常不需要额外权限

wget https://ftp.gnu.org/gnu/gcc/gcc-9.5.0/gcc-9.5.0.tar.gz
tar -xf gcc-9.5.0.tar.gz
cd gcc-9.5.0

获取前提条件(Prerequisites):

GCC源码中有一个脚本可以帮助你下载编译GCC所需的其他软件包。这个脚本应该可以在你的用户目录下运行,而不需要管理员权限:

./contrib/download_prerequisites

编译GCC

  1. 创建一个构建目录并配置编译选项:
    创建一个新的目录用于编译,并从该目录中调用…/configure以避免污染源代码树。同时指定安装路径为你的家目录下的某个位置,这样就不需要管理员权限了。
    这里几个参数需要解释一下, enable-languages顾名思义, program-suffix=-9.5.0 就是说最后编译出的程序名字后会有后缀, 如gcc-9.5.0, 建议加上后缀区分版本.
    –prefix指定的是之后install对应的目录, 默认是/usr/local/bin, 但是这里不建议放在这里, 容易污染PATH, 所以建议自定义位置, 具有更高自由度和可控度, 有问题大不了删了呗. 对于个人用户而言, 其他参数基本上按照默认即可.
mkdir build
cd build
../configure --prefix=$HOME/local/gcc-9.5.0 --program-suffix=-9.5.0 --enable-languages=c,c++ --disable-multilib
  1. 开始编译:
    运行make命令来编译GCC。这一步可能需要一些时间,取决于你的计算机性能。
make -j$(nproc)
  1. 安装到本地目录:
    使用make install将编译好的GCC安装到之前configure时指定的前缀路径下。
make install
  1. 更新环境变量:
    安装完成后,你需要更新你的PATH环境变量,以便能够找到新安装的GCC二进制文件。你可以通过编辑你的.bashrc或.bash_profile文件来实现这一点(根据你的shell类型不同选择相应的文件)。

gcc9.5.0配置

export GCC9_HOME=$HOME/local/gcc-9.5.0
export PATH=$HOME/local/gcc-9/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GCC9_HOME/lib:$GCC9_HOME/lib32:$GCC9_HOME/lib64

然后更新环境变量

source ~/.bashrc
  1. 验证安装:
    最后,你可以检查GCC版本以确认安装是否成功。
gcc-9.5.0 --version
gcc (GCC) 9.5.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

使用

如果不希望更换默认GCC版本, 只需要在命令行临时输入:

export CC=$HOME/local/gcc-9/bin/gcc
export CXX=$HOME/local/gcc-9/bin/g++
### 如何在Linux系统中从源码编译安装GCC编译器 为了在Linux系统上从源码编译安装GCC编译器,需执行一系列特定的操作以确保过程顺利进行。 #### 准备工作环境 首先,获取构建工具和依赖项是必要的。这通常涉及更新现有的软件包列表以及安装一些必需的库文件和支持工具。对于基于Debian/Ubuntu的系统而言,可以利用如下命令完成此操作: ```bash sudo apt-get update && sudo apt-get install -y build-essential libgmp-dev libmpfr-dev libisl-dev libmpc-dev texinfo ``` 上述命令不仅会刷新本地数据库中的可用版本信息,还会下载并配置好所有后续步骤所需的资源[^2]。 #### 下载GCC源代码 接着,访问官方GNU镜像站点或通过Git仓库克隆最新稳定分支的方式获得目标版本的GCC压缩包。这里给出一个简单的wget实例来说明如何取得指定版本(例如13.2.0)的tarball档案: ```bash cd /usr/local/src/ sudo wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz sudo tar xf gcc-13.2.0.tar.gz cd gcc-13.2.0 ``` 这些指令将创建一个新的目录`gcc-13.2.0`并将解压后的文件放置其中以便进一步处理。 #### 配置与编译GCC 进入刚刚提取出来的GCC源码根目录之后,建议新建一个独立于源树之外的对象文件夹来进行实际编译动作,这样有助于保持原始资料整洁无污染同时也便于管理多平台交叉编译场景下的产物差异性。下面展示了一组典型的configure选项及其含义解释: ```bash mkdir objdir cd objdir ../configure --prefix=/opt/gcc-13.2.0 --enable-languages=c,c++,fortran --disable-multilib make -j$(nproc) ``` 此处的关键在于设置合适的前缀路径(`--prefix`)指向最终期望安置新编译好的二进制组件的位置;启用所需的语言子集(`--enable-languages=...`);还有就是根据宿主机硬件架构决定是否开启多库模式支持(`--disable-multilib`)。最后一条命令则充分利用CPU核心数加速整个汇编链接流程(-j参数)。 #### 完成安装 当所有的预处理器宏定义、语法解析、优化转换等工作完成后,就可以正式把生成的目标文件部署到之前预定的目的地中去了。只需简单运行以下脚本即可实现这一点: ```bash sudo make install ``` 至此,自定义版本的GCC就已经成功落户于用户的机器之上,并可通过调整PATH环境变量等方式让其优先级高于系统自带的那个旧版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AlwaysDayOne

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

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

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

打赏作者

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

抵扣说明:

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

余额充值