linux 没有root权限的用户安装GCC[通俗易懂]

linux 没有root权限的用户安装GCC[通俗易懂]在Linux下,如果有root权限的话,使用sudoaptinstall就可以很方便的安装软件,而且同时也会帮你把一些依赖文件也给编译安装好。但是如果不是用的自己的机器,一般情况下是没有root权限的。所以就需要自己动手下载tar文件,解压安装。在安装中遇到的最大的问题是依赖的问题。手动下载编译GCC,首先下载tar文件,可以在这里下载https://ftp.gnu.org/gnu/gc…

大家好,又见面了,我是你们的朋友全栈君。

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

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

linux 没有root权限的用户安装GCC[通俗易懂]

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

linux 没有root权限的用户安装GCC[通俗易懂]

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

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

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

linux 没有root权限的用户安装GCC[通俗易懂]

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

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

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

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

linux 没有root权限的用户安装GCC[通俗易懂]

不过后来在进行到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,所以需要将该路径加到自己的环境变量中去。

linux 没有root权限的用户安装GCC[通俗易懂]

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

linux 没有root权限的用户安装GCC[通俗易懂]

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

linux 没有root权限的用户安装GCC[通俗易懂]

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

linux 没有root权限的用户安装GCC[通俗易懂]

之后再source .bashrc就可以了

参考:

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

gcc 4.6.3 installation gmp 5.0.5 mpfr 3.1.1 errors

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141352.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • css改变鼠标样式

    css改变鼠标样式CSS控制鼠标通过cursor属性来实现,该属性可以在任何标记中使用,因此,可以改变各种页面元素的鼠标效果。//设置为小手cursor:pointer//设置为左右箭头cursor:w-resize或cursor:e-resize//设置为斜箭头cursor:nw-resize或cursor:ne-resize//设置为全方位箭头cursor:move此外,cursor还有很多鼠标指针效果,如下图:浏览器调用的是操作系统的鼠标效果,但是,不同的操作系统之间还是存在

    2022年5月31日
    76
  • Mac安装brew,安装wget「建议收藏」

    Mac安装brew,安装wget「建议收藏」安装brewadmindeMacBook-Pro:wget-1.13.4admin$/usr/bin/ruby-e”$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)”==>Thisscriptwillinstall:/usr/local/bin/brew/…

    2022年6月1日
    52
  • eclipse使用svn更新代码_eclipse安装svn

    eclipse使用svn更新代码_eclipse安装svn1.先去将本地的代码更新到最新,如果更新内容较少,可以点击资源同步,具体可以看一下博主:svn创建svn图文2.更新成最新的代码之后,点击创建补丁,点击第二个file文本框,选择一个文件夹存下一个文件。3.打开申请上线权限,。点击puth,填写./4.申请通过之后,复制review+版本号5.将复制的版本号放到comment下6.点击ok。…

    2025年8月7日
    3
  • pip 安装与卸载软件包[通俗易懂]

    pip 安装与卸载软件包[通俗易懂]$pip2installxxx$pip2unstallxxx

    2022年10月16日
    3
  • composer更新指定包||composer 常用命令「建议收藏」

    composer更新指定包||composer 常用命令

    2022年2月15日
    58
  • python面向对象三大特性,各有什么用处_面向对象语言三大特性

    python面向对象三大特性,各有什么用处_面向对象语言三大特性python面向对象三大特性继承,封装,多态1.封装体现在两个方面:将同一类方法封装到了一个类中将数据封装到对象中,在实例化对象时,可以通过__init__初始化方法在对象中封装一些数据,便于以后使用2.继承子类继承父类中的方法和类变量(不是拷贝一份,父类还是属于父类,子类可以继承而已)父类又称基类子类又称派生类classBase:deffunc(self):print(“base”)#Son继承BaseclassSon(Base):

    2025年7月31日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号