• Ubuntu14.04离线安装gcc-5.3.0


    拉取的一个虚拟机使用的系统是Ubuntu14.04,gcc版本是4.8.4,由于gcc版本较低,不太支持Libtorch,于是搜寻了许多办法来解决这个问题,以下是最终的解决方法。

    下载gcc安装包

    首先去相应网站下载gcc的安装包,这里提供一个网站http://www.netgull.com/gcc/releases/,进入该网站后找到想下载的gcc版本,比如我要下载的是gcc-5.3.0,于是点击gcc-5.3.0这个目录,进入后会发现目录中有两个安装包gcc-5.3.0.tar.bz2gcc-5.3.0.tar.gz,这两个安装包都差不多,下载哪个都行,我下载的是gcc-5.3.0.tar.bz2

    在/home目录下,通过mkdir gcc-build && cd gcc-build命令创建一个gcc-build目录,并进入到该目录。将下载的gcc-5.3.0.tar.bz2移入gcc-build目录并进行解压:

    tar -xjvf gcc-5.3.0.tar.bz2
    
    • 1

    如果是gcc-5.3.0.tar.gz,则使用下面的命令进行解压:

    tar -xzvf gcc-5.3.0.tar.gz
    
    • 1

    解压后生成一个gcc-5.3.0目录。

    下载相关依赖

    编译gcc源码时需要安装gmp、mpfr、mpc三个依赖,我们依次进行下载。

    下载gmp

    首先进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/g/gmp/,然后选择gmp_6.1.0+dfsg.orig.tar.xz进行下载。

    将下载好的gmp_6.1.0+dfsg.orig.tar.xz放在gcc-build目录下,通过tar -xf gmp_6.1.0+dfsg.orig.tar.xz命令进行解压,解压后生成gmp_6.1.0+dfsg,同时在gcc-build目录中创建一个temp目录用来编译。

    打开终端进入temp目录,依次输入以下命令:

    ../gmp-6.1.0+dfsg/configure -prefix=/usr/local/gmp-6.1.0+dfsg
    make
    sudo make install
    
    • 1
    • 2
    • 3

    下载mpfr

    进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/m/mpfr4/,选择mpfr4_3.1.4.orig.tar.xz进行下载。

    将下载好的mpfr4_3.1.4.orig.tar.xz放在gcc-build目录下并进行解压,然后依次输入以下命令:

    rm -r *  # 清空temp目录
    ../mpfr-3.1.4/configure -prefix=/usr/local/mpfr-3.1.4 -with-gmp=/usr/local/gmp-6.1.0+dfsg  # 安装mpfr时需要添加依赖关系
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4

    下载mpc

    进入https://mirrors.ustc.edu.cn/ubuntu/pool/main/m/mpclib3/,选择mpclib3_1.0.3.orig.tar.gz进行下载。

    将下载好的mpclib3_1.0.3.orig.tar.gz放在gcc-build目录下并进行解压,然后依次输入以下命令:

    rm -r *  # 清空temp目录
    ../mpc-1.0.3/configure -prefix=/usr/local/mpc-1.0.3 -with-gmp=/usr/local/gmp-6.1.0+dfsg -with-mpfr=/usr/local/mpfr-3.1.4  # 安装mpc时需要添加依赖关系
    make
    sudo make install
    
    • 1
    • 2
    • 3
    • 4

    编译、安装gcc

    rm -r *  # 清空temp目录
    ../gcc-5.3.0/configure -prefix=/usr/local/gcc-5.3.0 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c++,java,objc -with-gmp=/usr/local/gmp-6.1.0+dfsg -with-mpfr=/usr/local/mpfr-3.1.4 -with-mpc=/usr/local/mpc-1.0.3
    make  # 这一步需要的时间会比较长
    sudo make install
    
    • 1
    • 2
    • 3
    • 4

    配置环境变量

    此时系统存在两个版本的gcc,一个位于/usr/bin/gcc,另一个位于/usr/local/gcc-5.3.0/bin/gcc,输入gcc --version时显示的仍然是旧版本的信息,为了方便使用,我们可以在/usr/bin目录下建立符号链接。

    cd /usr/bin
    sudo ln -s /usr/local/gcc-5.3.0/bin/gcc gcc53
    sudo ln -s /usr/local/gcc-5.3.0/bin/g++ g++53
    
    • 1
    • 2
    • 3

    此时,在/usr/bin目录下会分别多出一个gcc53g++53可执行文件,当输入gcc53 --version时显示的就是新版本的信息了。

    如果想输入gcc --version就显示新版本的信息,我们可以依次输入以下命令:

    sudo cp /usr/bin/gcc /usr/bin/gcc4.8.4  # 备份原来的gcc链接
    sudo cp /usr/bin/g++ /usr/bin/g++4.8.4  # 备份原来的g++链接
    sudo rm /usr/bin/gcc  # 删除原来的gcc链接 
    sudo rm /usr/bin/g++  # 删除原来的g++链接
    sudo ln -s /usr/local/gcc-5.3.0/bin/gcc /usr/bin/gcc  # 建立新的gcc链接
    sudo ln -s /usr/local/gcc-5.3.0/bin/g++ /usr/bin/g++  # 建立新的g++链接
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    此时再输入gcc --version,显示的就是新版本信息。

    对于库的路径同样需要设置一下,这样保证在调用库函数的时候可以适用到新版编译器的库函数,通过sudo vim /etc/profile命令打开文件,添加如下内容:

    export LD_LIBRARY_PATH=/usr/local/gcc-5.3.0/lib:/usr/local/gcc-5.3.0/lib64:$LD_LIBRARY_PATH
    
    • 1

    保存退出后,重新启动系统,使变量生效。

    至此,gcc-5.3.0的安装工作全部完成!

  • 相关阅读:
    SpringMVC如何处理表单提交与文件上传
    FDTD script command(源/监视器)
    JBoss漏洞:JBOSS反序列化漏洞合集
    驱动开发:通过ReadFile与内核层通信
    JavaScript -- 06.函数知识汇总
    win10任务栏不合并图标如何设置
    van-button根据参数改变字体颜色,实现高度自定义
    Java项目:ssm酒店管理系统
    Clock时钟电路PCB设计布局布线要求
    深入理解计算机网络-4信号编码与调制2
  • 原文地址:https://blog.csdn.net/weixin_48158964/article/details/132777705