配置编译环境
编译Doris前需安装依赖包和配置环境变量,文档中所有源码和依赖软件安装目录以“opt/tools/installed/”目录为例,如没有此目录,请先创建该目录。
软件环境
编译机所使用到的软件环境版本如下表2所示。
安装JDK
- 可选:创建安装目录。
mkdir -p /opt/tools/installed
- 进入安装目录。
1
cd /opt/tools/installed
- 下载JDK 8。
1
wget https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/jdk-8u291-linux-aarch64.tar.gz
- 解压软件包。
1
tar -zxvf jdk-8u291-linux-aarch64.tar.gz
安装Maven
- 进入安装目录。
1
cd /opt/tools/installed
- 下载Maven 3.6.3。
1
wget https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/apache-maven-3.6.3-bin.tar.gz
- 解压软件包。
1
tar -zxvf apache-maven-3.6.3-bin.tar.gz
安装CMake
- 进入安装目录。
1
cd /opt/tools/installed
- 下载CMake 3.28.0。
1 2
wget https://github.com/Kitware/CMake/archive/refs/tags/v3.28.0.zip mv v3.28.0.zip ./CMake-3.28.0.zip
- 解压软件包。
1
unzip CMake-3.28.0.zip
- 运行configure脚本。
1 2
cd CMake-3.28.0 ./configure --prefix=/opt/tools/installed/CMake-3.28.0/build
- 编译CMake并安装。
1 2
gmake gmake install
- 使用以下命令添加环境变量。
1
export PATH=/opt/tools/installed/CMake-3.28.0/build/bin:$PATH
- 检查CMake安装版本是否为3.28.0。
1
cmake --version
安装Ninja
- 进入安装目录。
1
cd /opt/tools/installed
- 下载Ninja 1.12.1。
1
wget https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip
- 解压软件包。
1
unzip ninja-linux-aarch64.zip -d ninja
- 使用以下命令添加环境变量。
1
export PATH=/opt/tools/installed/ninja:$PATH
- 检查Ninja安装版本是否为1.12.1。
1
ninja --version
安装Clang
- 进入安装目录。
1
cd /opt/tools/installed
- 下载Clang 17。
1 2
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-17.0.6.tar.gz mv llvmorg-17.0.6.tar.gz ./llvm-project-llvmorg-17.0.6.tar.gz
- 解压软件包。
1
tar -zxvf llvm-project-llvmorg-17.0.6.tar.gz
- 创建安装目录并进入目录。
1 2 3
mkdir -p /opt/tools/installed/llvm-project-llvmorg-17.0.6/build/llvm mkdir -p /opt/tools/installed/llvm-project-llvmorg-17.0.6/install cd /opt/tools/installed/llvm-project-llvmorg-17.0.6/build/llvm
- 生成LLVM的构建文件。
1 2 3 4 5 6 7 8 9
cmake -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/opt/tools/installed/llvm-project-llvmorg-17.0.6/install \ -DCMAKE_C_COMPILER=gcc \ -DCMAKE_CXX_COMPILER=g++ \ -DLLVM_ENABLE_PROJECTS="clang;lld;bolt;openmp;clang-tools-extra" \ -DLLVM_ENABLE_RUNTIMES="compiler-rt;libunwind;libcxx;libcxxabi" \ -DLLVM_TARGETS_TO_BUILD="AArch64" \ /opt/tools/installed/llvm-project-llvmorg-17.0.6/llvm || exit 1
- 使用96个线程并行构建LLVM项目并安装。
1 2
ninja -j96 ninja install
- 使用以下命令添加环境变量。
1
export PATH=/opt/tools/installed/llvm-project-llvmorg-17.0.6/install/bin:$PATH
- 检查Clang安装版本是否为17.0.6。
1
clang --version
安装GCC
- 进入安装目录。
1
cd /opt/tools/installed
- 下载GCC 12。
1
wget https://eulermaker.compass-ci.openeuler.openatom.cn/api/repositories/gcc-for-openEuler/centos%3A7.6.1810/aarch64/history/902f83f6-2280-11ef-992d-3e91e18f8c69/last/Packages/gcc-for-openEuler-1.0.7-10.aarch64.rpm
- 安装软件包并将得到的gcc12软件包移动到“/opt/tools/installed/”目录下,进入该目录。
1 2 3
rpm -i gcc-for-openEuler-1.0.7-10.aarch64.rpm mv /gcc-12.3.1-2024.05-aarch64-linux.tar.gz /opt/tools/installed/ cd /opt/tools/installed
- 解压压缩包。
1
tar -zxvf gcc-12.3.1-2024.05-aarch64-linux.tar.gz
- 使用以下命令添加环境变量。
1
export PATH=/opt/tools/installed/gcc-12.3.1-2024.05-aarch64-linux/bin:$PATH
- 检查GCC安装版本是否为12.3.1。
1
gcc --version
安装Autoconf
- 安装系统软件包。
1
sudo yum install -y byacc patch automake libtool make which file ncurses-devel gettext-devel unzip bzip2 zip util-linux wget git python
- 安装Autoconf 2.69。
- 下载并解压软件安装包。
1 2
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar zxf autoconf-2.69.tar.gz
- 进入软件目录。
1
cd autoconf-2.69
- 编译安装软件包。
1 2 3
./configure make make install
- 下载并解压软件安装包。
配置环境变量
- 打开“/etc/profile”文件。
1
vi /etc/profile
- 按“i”进入编辑模式,在文件下方新增如下环境变量配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
export MAVEN_HOME=/opt/tools/installed/apache-maven-3.6.3 export PATH=$MAVEN_HOME/bin:$PATH export JAVA_HOME=/opt/tools/installed/jdk1.8.0_291 export PATH=$JAVA_HOME/bin:$PATH export CMAKE_HOME=/opt/tools/installed/CMake-3.28.0/build export PATH=$CMAKE_HOME/bin:$PATH export NINJA_HOME=/opt/tools/installed/ninja export PATH=$NINJA_HOME:$PATH export LLVM_HOME=/opt/tools/installed/llvm-project-llvmorg-17.0.6/install export PATH=$LLVM_HOME/bin:$PATH export GCC12_HOME=/opt/tools/installed/gcc-12.3.1-2024.05-aarch64-linux export PATH=$GCC12_HOME/bin:$PATH export LD_LIBRARY_PATH=$GCC12_HOME/lib64:$LLVM_HOME/lib:$LLVM_HOME/lib/aarch64-unknown-linux-gnu:$LD_LIBRARY_PATH export USE_AVX2=OFF export USE_UNWIND=OFF
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 启用环境变量。
1
source /etc/profile
父主题: 软件编译