• GCC安装


    由于安装nodejs时,需要使用编译源码的gcc版本比系统自带的高,因此需要重新安装高版本的gcc。

    1、下载源码包

    从官网上下载源码包:https://gcc.gnu.org/

    我下载的是目前最新版本的7.2.0的:gcc-7.2.0.tar.gz

    2、解压到当前目录

    tar -xvf gcc-7.2.0.tar.gz

    得到 gcc-7.2.0

    3、下载依赖类库

    进入 gcc-7.2.0,执行命令

    ./contrib/download_prerequisites

    该命令会下载gcc所需要的一些依赖文件,在执行该过程时,碰到了一些问题,参考附录一。

    4、建立编译输出目录

    mkdir gcc-build-7.2.0

    5、生成makefile

    进入 gcc-build-7.2.0

    执行以下命令:

     ../gcc-7.2.0/configure --enable-checking-release --enable-language=c,c++ --disable-multilib
    

      

    6、编译

    make -j4

    7、安装

    安装需要有root权限,但不需要切换到root帐号,因此需要使用sudo命令。

    sudo make install

    8、确认当前gcc版本

    gcc -v

    附录一:下载安装依赖

    在初次使用自动下载依赖时,由于网络问题,许久时间都下载不下来,因此尝试过一些其他的方法,下面将尝试过的不可行的方法以及找到的尚未尝试过的方法罗列出来。

    错误方式一:手动下载和安装这几个类库

    根据上述的安装过程我们知道使用下面这个命令:

    ./contrib/download_prerequisites

    可以下载到依赖包,那么这个文件中肯定罗列出来了需要下载的包,我们只需要根据这个列表去寻找到相应的包并下载安装即可。

    但实际上这会导致一个问题,即gcc在编译时会去查找这些依赖,但是由于是自己手动安装的,gcc无法找到,就会出错。

    错误方式二:使用 --with指定依赖的库文件

    通过使用 with 命令指定依赖类库的方式进行安装:

    ./configure 
        --with-gmp-include=/usr/local/include 
        --with-gmp-lib=/usr/local 
        ...

    通过这种方式也没有成功,当然,此处无法确定是这种方式不行,还是我写的路径不对。

    存疑方式三:下载依赖类库之后解压至gcc源码包

    这种方式还没有测试过,此处汇总记录一下,实际上顺着这个思路来解决问题应该是可行的,只不过具体的细节不确定是否可行。

    实际上通过阅读 download_prerequisites 文件可以解决该问题的,其中肯定是包含对于下载的文件放在哪里,或者是解压之后放在哪里,文件名的命名规则是怎么样的。

    tar -xjf gmp-6.1.2.tar.bz2
    mv gmp-6.1.2 gcc-7.2.0/gmp
  • 相关阅读:
    平台化软件的设计与应用前景分析
    SNF.Net 快速开发平台Spring.Net.Framework 诞生的由来与规划
    成功的10大策略
    要想有什么样的成就就要有什么样的眼光-SNF快速开发平台
    技术到管理岗位的角色转换:从优秀骨干到优秀管理者
    linux常用命令积累
    centOS 虚拟机设置固定IP:图形化设置
    单例模式的常见应用场景
    java获取对象属性类型、属性名称、属性值
    dubbo main方法启动
  • 原文地址:https://www.cnblogs.com/weilu2/p/linux_configuration_gcc.html
Copyright © 2020-2023  润新知