Configuring the Compilation Environment
Installing Dependencies
- Mount the OS image.
1mount YOUR_OS.iso /media -o loop
Replace YOUR_OS.iso with the actual iso package name.
- Back up the repo file and clear the /etc/yum.repos.d/ directory.
1 2
/etc/yum.repos.d-bakcp -r /etc/yum.repos.d rm /etc/yum.repos.d/*
Ensure that all repo files have been backed up. Enter y on the rm deletion page to delete the files.
- Configure a local Yum source.
- Open the /etc/yum.repos.d/Local.repo file.
1vi /etc/yum.repos.d/Local.repo - Press i to enter the insert mode and add the following content to the file:
1 2 3 4 5
[Local] name=Local baseurl=file:///media/ enabled=1 gpgcheck=0
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open the /etc/yum.repos.d/Local.repo file.
- Make the Yum source configuration take effect.
1 2
yum clean all yum makecache
- Use the Yum source to install GCC related software.
1yum -y install gcc gcc-c++ gcc-gfortran.aarch64 libgcc.aarch64 make cmake libtool autoconf automake ant wget git vim
Modifying GCC (to Solve the -fsigned-char Problem)
- Search for the directory where the GCC is located. Generally, the directory is /usr/bin/gcc.
1command -v gcc
- Change the name of the original GCC file, for example, to gcc-impl.
1mv /usr/bin/gcc /usr/bin/gcc-impl
- Create a GCC file.
1vi /usr/bin/gcc - Press i to enter the insert mode and add the following content to the file:
1 2
#! /bin/sh /usr/bin/gcc-impl -fsigned-char "$@"
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Add the execute permission for the GCC file.
1chmod +x /usr/bin/gcc
- Check whether the GCC is available.
1gcc --version
Modifying G++ (to Solve the -fsigned-char Problem)
- Search for the directory where G++ is located. Generally, the directory is /usr/bin/g++.
1command -v g++
- Change the original G++ file name, for example, to g++-impl.
1mv /usr/bin/g++ /usr/bin/g++-impl
- Create a G++ file.
1vi /usr/bin/g++ - Press i to enter the insert mode and add the following content to the file:
1 2
#! /bin/sh /usr/bin/g++-impl -fsigned-char "$@"
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Add the execute permission for the G++ file.
1chmod +x /usr/bin/g++
- Check whether the G++ file is available.
1g++ --version
Installing OpenJDK
- Download and decompress the installation package to a directory (for example, /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/
- Configure Java environment variables.
- Edit the /etc/profile file.
1vi /etc/profile - Press i to enter the insert mode and add the following content to the end of the file:
1 2
export JAVA_HOME=/opt/tools/installed/jdk8u252-b09 export PATH=$JAVA_HOME/bin:$PATH
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Edit the /etc/profile file.
- Make the environment variables take effect.
1source /etc/profile
- Check whether OpenJDK is successfully installed.
1java -versionIf the OpenJDK version is displayed in the command output, the installation is successful.
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)
Installing Maven
- Download and install the installation package to a directory (for example, /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/
- Modify the Maven environment variables.
- Edit the /etc/profile file.
1vi /etc/profile - Press i to enter the insert mode and add the following content to the end of the file:
1 2
export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4 export PATH=$MAVEN_HOME/bin:$PATH
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Edit the /etc/profile file.
- Make the environment variables take effect.
1source /etc/profile
- Check whether Maven is successfully installed.
1mvn -vThe installation is successful if information similar to the following is displayed:
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"
- Modify the local repository path and remote repository in the Maven configuration file.
- Open the configuration file.
vi /opt/tools/installed/apache-maven-3.5.4/conf/settings.xml
The default local repository directory is ~/.m2/. If you want to change the directory to a specified one, modify the localRepository tag. You do not need to modify this parameter unless otherwise specified.
- Press i to enter the insert mode. Add the following content to the <mirrors> tag to configure the remote repository (change the repository to the Maven repository that you have built. If the Maven repository does not exist, configure it based on the following example):
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>
- Optional: If the compilation environment cannot access the Internet, add the following proxy configuration to 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</username> <password>Password</password> <host>Proxy server URL</host> <port>Proxy server port</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>
- Press Esc, type :wq!, and press Enter to save the file and exit.
- Open the configuration file.
Parent topic: Flink-shaded-netty Porting Guide (CentOS&openEuler)



