linux 没有root权限的用户安装GCC

在Linux下,如果有root权限的话,使用sudo apt install 就可以很方便的安装软件,而且同时也会帮你把一些依赖文件也给编译安装好。但是如果不是用的自己的机器,一般情况下是没有root 权限的。所以就需要自己动手下载tar文件,解压安装。在安装中遇到的最大的问题是依赖的问题。

手动下载编译GCC ,首先下载tar文件,可以在这里下载https://ftp.gnu.org/gnu/gcc。下载完之后,如果是远程登录的机器,可以使用scp 将文件传到那台机器,如下所示


安装GCC 还需要gmp、mpfr、mpc。下载的时候需要注意它们之间的版本,我下载的版本是:

在安装的时候,需要注意顺序。

首先将tar解压,使用tar -zxvf xxxx.tar.gz。安装的时候,首先安装gmp、之后安装mpfr、最后安装mpc,因为它们之间有依赖关系。

首先进入解压后的gmp-5.1.3文件夹下:

之后使用 ./configure --prefix=/path/to/install 设置安装路径。因为是没有root权限的,所以需要修改安装路径,安装到自己有权限的文件夹下。

如果前一步没有问题,使用make -j4 编译,使用-j 选项可以加快编译速度

最后使用 make install。 完成后,可以在/path/to/install 下看到include lib 与share

mpc、mpfr 的安装方法类似,不过需要在./configure 这一步做一些改动,比如,在安装mpc 的时候,由于依赖gmp 与mpfr,所以需要使用--with  ,如下所示:

不过后来在进行到gcc 的make 的时候,出现了错误,"cannot open shared object file: No such file or directory",错误显示的是找不到mpc的一个.so文件,但是之前已经使用make install 过了,则mpc 的lib文件夹下就有。在网上找到了解决方法,使用export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/your/so ,提示缺少哪个,就添加对应的路径,之后再次使用make 编译gcc。

最后使用make install 之后,gcc 就可以使用了。不过由于系统中有旧版本的GCC,但是由于没有ROOT权限,所以不能将旧版本卸载掉,所以需要添加的自己的path中。

在这之前,先看一下GCC能不能用,图中,下面的GCC 7.2.0就是新安装的GCC。不过目前只有加上路径才能使用当前新的GCC,所以需要将该路径加到自己的环境变量中去。

在自己的用户目录下vi .bashrc, 添加gcc 的bin路径,注意加到PATH 的前面,因为在查找时会首先找到自己安装的GCC

编辑完之后,使用source .bashrc ,之后使用直接使用GCC 就是自己安装的那个版本了

在编译执行程序的时候,发现找不到LIBCXXX之类的信息。需要用当前安装的so 代替之前的。解决方法是,在~下的.bashrc 中编辑export LD_LIBRARY_PATH

之后再source .bashrc就可以了


参考:

GNU/Linux GCC 指定动态库路径_牧马人_新浪博客

gcc 4.6.3 installation gmp 5.0.5 mpfr 3.1.1 errors


  • 14
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
如果你没有C compiler和root权限,你可能无法直接安装gcc。但是,你可以尝试以下方法: 1. 使用包管理器安装gcc:如果你使用的是Linux或类Unix操作系统,并且有一个包管理器,你可以尝试使用它来安装gcc。例如,在Ubuntu上,你可以使用以下命令安装gcc: ``` sudo apt-get update sudo apt-get install gcc ``` 如果你没有root权限,你可以尝试使用`--user`选项进行用户级别安装: ``` sudo apt-get update sudo apt-get install gcc --user ``` 请注意,这种方法可能需要一些时间,因为它需要从软件仓库中下载gcc安装。 2. 在线安装:如果你无法使用包管理器安装gcc,你可以尝试在线安装。你可以从gcc官方网站下载gcc的源代码,并按照它们的说明进行编译和安装。这需要一些时间和技能,因为你需要手动解决依赖关系和编译问题。 3. 使用Docker:如果你无法在本地安装gcc,你可以尝试使用Docker来运行一个包含gcc的容器。Docker是一个虚拟化平台,可以让你在你的计算机上运行容器化的应用程序。你可以从Docker Hub上下载一个包含gcc的镜像,并在容器中运行它。这需要一些时间和技能,因为你需要学习如何使用Docker和管理容器。 请注意,这些方法都需要一些技能和经验,并且可能需要一些时间和努力。如果你不确定如何做,最好联系你的系统管理员或技术支持人员以获取帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值