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

2024年 2月 21日 81.5k 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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论