Linux系统没有管理员权限如何编译安装高版本gcc
创始人
2025-07-12 21:21:46
0

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

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

(1)下载gcc-7.5.0源码

[zsa@localhost ~]$ wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-7.5.0/gcc-7.5.0.tar.gz

(2)解压文件

[zsa@localhost ~]$ tar zxf gcc-7.5.0.tar.gz
[zsa@localhost ~]$ cd gcc-7.5.0

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

[zsa@localhost ~]$ contrib/download_prerequisites

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

[zsa@localhost gcc-7.5.0]$ mkdir build && cd build

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

[zsa@localhost build]$ ../configure --prefix=/home/zsa/gcc_7.5.0 --enable-language=c,c++,fortran --disable-multilib

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

[zsa@localhost build]$ make -j4 && make install

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

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

执行如下命令:

[zsa@localhost build]$ unset LIBRARY_PATH CPATH C_INCLUDE_PATH PKG_CONFIG_PATH CPLUS_INCLUDE_PATH INCLUDE

然后重新编译即可:

[zsa@localhost build]$ make clean && make -j4

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...