前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux系统没有管理员权限如何编译安装高版本gcc

Linux系统没有管理员权限如何编译安装高版本gcc

作者头像
用户5921339
发布于 2025-05-20 09:48:41
发布于 2025-05-20 09:48:41
22200
代码可运行
举报
运行总次数:0
代码可运行

有一台公共的服务器,每个人都有自己的账号,但是没有root权限,也不能使用sudo切换,此时需要使用gcc 7.5.0(默认gcc版本是4.8.5),因此只能通过在家目录下编译安装高版本gcc来达到我们的目的,这样就不会改变系统的gcc版本,也不涉及管理权限问题。

以下是编译安装gcc 7.5.0的完整步骤,可供参考

(1)下载gcc-7.5.0源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost ~]$ wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.5.0/gcc-7.5.0.tar.gz

(2)解压文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost ~]$ tar zxf gcc-7.5.0.tar.gz
[zsa@localhost ~]$ cd gcc-7.5.0

(3)执行以下命令,下载依赖库,也可手动下载文件到当前目录。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost ~]$ contrib/download_prerequisites

(4)创建build文件夹并切换路径

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost gcc-7.5.0]$ mkdir build && cd build

(5)执行configure命令,检查编译环境并生成MakeFile文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost build]$ ../configure --prefix=/home/zsa/gcc_7.5.0 --enable-language=c,c++,fortran --disable-multilib

(6)编译环境检查通过,执行make命令开始编译、安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost build]$ make -j4 && make install

(7)添加临时环境变量,并打印gcc版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
export LD_LIBRARY_PATH=/home/zsa/gcc_7.5.0/lib:$LD_LIBRARY_PATH
export PATH=/home/zsa/gcc_7.5.0/bin:$PATH

能正确显示gcc版本说明编译安装成功,如此就实现了不影响系统运行的情况下使用新版本的gcc,以上方法也可用来升级系统gcc,步骤稍有不同。

注意:如果编译过程中出现错误提示:

error: Unable to find a suitable type for HOST_WIDE_INT

  • 执行如下命令:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost build]$ unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE
  • 然后重新编译即可
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[zsa@localhost build]$ make clean && make -j4
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT人家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意:如果编译过程中出现错误提示:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档