配置编译环境

安装GCC等依赖

  1. 挂载OS镜像。

    1
    mount YOUR_OS.iso /media -o loop
    

    YOUR_OS.iso用实际的iso包名代替。

  2. 备份repo文件,清空“/etc/yum.repos.d/”目录文件。

    1
    2
    cp -r /etc/yum.repos.d /etc/yum.repos.d-bak
    rm /etc/yum.repos.d/*
    

    请确认已经备份所有repo文件后,在rm删除界面输入y表示同意删除。

  3. 配置本地Yum源。

    1. 打开“/etc/yum.repos.d/Local.repo”文件。
      1
      vi /etc/yum.repos.d/Local.repo
      
    2. “i”进入编辑模式,在文件中添加以下内容。
      1
      2
      3
      4
      5
      [Local]
      name=Local
      baseurl=file:///media/
      enabled=1
      gpgcheck=0
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  4. 使Yum源配置生效。

    1
    2
    yum clean all
    yum makecache
    

  5. 通过Yum源安装GCC相关软件。

    1
    yum -y install gcc gcc-c++ gcc-gfortran.aarch64 libgcc.aarch64 make cmake libtool autoconf automake ant wget git vim
    

修改GCC(解决-fsigned-char问题)

  1. 寻找GCC所在路径(一般位于“/usr/bin/gcc”)。

    1
    command -v gcc
    

  2. 更改原GCC文件的名字(例如改成gcc-impl)。

    1
    mv /usr/bin/gcc /usr/bin/gcc-impl
    

  3. 新建GCC文件。

    1
    vi /usr/bin/gcc
    

  4. “i”进入编辑模式,在文件中添加以下内容。

    1
    2
    #! /bin/sh
    /usr/bin/gcc-impl -fsigned-char "$@"
    

  5. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  6. 给GCC文件添加执行权限。

    1
    chmod +x /usr/bin/gcc
    

  7. 确认GCC是否可用。

    1
    gcc --version
    
    • CentOS:回显如下所示即为安装成功。

    • openEuler:回显如下所示即为安装成功。

修改G++(解决-fsigned-char问题)

  1. 寻找G++所在路径(一般位于“/usr/bin/g++”)。

    1
    command -v g++
    

  2. 更改原G++文件的名字(例如改成g++-impl)。

    1
    mv /usr/bin/g++ /usr/bin/g++-impl
    

  3. 新建G++文件。

    1
    vi /usr/bin/g++
    

  4. “i”进入编辑模式,填入如下内容保存。

    1
    2
    #! /bin/sh
    /usr/bin/g++-impl -fsigned-char "$@"
    

  5. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  6. 给G++文件添加执行权限。

    1
    chmod +x /usr/bin/g++
    

  7. 确认G++是否可用。

    1
    g++ --version
    
    • CentOS:回显如下所示即为安装成功。

    • openEuler:回显如下所示即为安装成功。

安装OpenJDK

  1. 下载并解压安装到指定目录(此处以指定“/opt/tools/installed”目录为例)。

    1
    2
    3
    4
    wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz
    tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz
    mkdir -p /opt/tools/installed/
    mv jdk8u252-b09 /opt/tools/installed/
    

  2. 配置Java环境变量。

    1. 编辑“/etc/profile”文件。
      1
      vi /etc/profile
      
    2. “i”进入编辑模式,在文件末尾添加如下代码。
      1
      2
      export JAVA_HOME=/opt/tools/installed/jdk8u252-b09
      export PATH=$JAVA_HOME/bin:$PATH
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  3. 使修改的环境变量生效。

    1
    source /etc/profile
    

  4. 检查OpenJDK是否安装成功。

    1
    java -version
    

    回显显示OpenJDK版本即为安装成功。

    1
    2
    3
    openjdk version "1.8.0_252"
    OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_252-b09)
    OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.252-b09, mixed mode)
    

安装Maven

  1. 下载并安装到指定目录(此处以指定“/opt/tools/installed”目录为例)。

    1
    2
    3
    wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
    tar -zxf apache-maven-3.5.4-bin.tar.gz
    mv apache-maven-3.5.4 /opt/tools/installed/
    

  2. 修改Maven环境变量。

    1. 编辑“/etc/profile”文件。
      1
      vi /etc/profile
      
    2. “i”进入编辑模式,在文件末尾增加下面代码。
      1
      2
      export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4
      export PATH=$MAVEN_HOME/bin:$PATH
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  3. 使修改的环境变量生效。

    1
    source /etc/profile
    

  4. 检查Maven是否安装成功。

    1
    mvn -v
    

    回显如下所示即为安装成功。

    1
    2
    3
    4
    5
    Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
    Maven home: /opt/tools/installed/apache-maven-3.5.4
    Java version: 1.8.0_252, vendor: AdoptOpenJDK, runtime: /opt/tools/installed/jdk8u252-b09/jre
    Default locale: en_US, platform encoding: UTF-8
    0S name: "linux", version: "4.14.0-115.el7a.0.1.aarch64", arch: "aarch64", family: "unix"
    

  5. 修改Maven配置文件中的本地仓路径、远程仓等。

    1. 打开配置文件。
      1
      vi /opt/tools/installed/apache-maven-3.5.4/conf/settings.xml
      

      本地仓库地址默认在“~/.m2/”目录下,如需修改为指定目录,则修改localRepository标签,没有特殊需求,则无需修改该参数。

    2. “i”进入编辑模式,配置远程仓库(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容。
      1
      2
      3
      4
      5
      6
      <mirror>
        <id>huaweimaven</id>
        <name>huawei maven</name>
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
        <mirrorOf>central</mirrorOf>
      </mirror>
      
    3. 可选:如果编译环境不能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      <proxies>
        <proxy>
          <id>optional</id>
          <active>true</active>
          <protocol>http</protocol>
          <username>用户名</username>
          <password>密码</password>
          <host>代理服务器网址</host>
          <port>代理服务器端口</port>
          <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
        </proxy>
      </proxies>
      
    4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。