---
title: 配置编译环境
description: "编译Doris前需安装依赖包和配置环境变量，文档中所有源码和依赖软件安装目录以“opt/tools/installed/”目录为例，如没有此目录，请先创建该目录。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/ecosystemEnable/Doris/kunpengbds_doris_04_0005.html
sourcePath: /source/zh/kunpengbds/ecosystemEnable/Doris/kunpengbds_doris_04_0005.html
indexId: 0604b73d7d54e351dbe80c8bf9df8bcba47f4169e48fa276ca29fbdf85f212e173
---
# 配置编译环境

编译Doris前需安装依赖包和配置环境变量，文档中所有源码和依赖软件安装目录以“opt/tools/installed/”目录为例，如没有此目录，请先创建该目录。

#### 硬件环境

编译机所使用的硬件环境如表1所示。


**表1 编译机环境硬件推荐配置**

| 项目 | 要求 |
| --- | --- |
| 处理器 | 鲲鹏920处理器 |
| 内存大小 | 32GB以上 |
| 硬盘 | 480GB以上 |


#### 软件环境

编译机使用的软件环境版本如下表2所示。


**表2 编译机环境软件推荐配置**

| 项目 | 软件版本 |
| --- | --- |
| OS | openEuler 22.03 LTS SP1 |
| JDK | JDK 1.8.0\_291 |
| Maven | 3.6.3 |
| CMake | 3.28.0 |
| Ninja | 1.12.1 |
| Clang | 17.0.6 |
| GCC | 12.3.1 |
| Autoconf | 2.69 |


#### 安装JDK

1. 可选：创建安装目录。

```
mkdir -p /opt/tools/installed
```


2. 进入安装目录。
  1 cd /opt/tools/installed

3. 下载JDK 8。
  1 wget https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/jdk-8u291-linux-aarch64.tar.gz

4. 解压软件包。
  1 tar -zxvf jdk-8u291-linux-aarch64.tar.gz


#### 安装Maven

1. 进入安装目录。
  1 cd /opt/tools/installed

2. 下载Maven 3.6.3。
  1 wget https://doris-thirdparty-repo.bj.bcebos.com/thirdparty/apache-maven-3.6.3-bin.tar.gz

3. 解压软件包。
  1 tar -zxvf apache-maven-3.6.3-bin.tar.gz


#### 安装CMake

1. 进入安装目录。
  1 cd /opt/tools/installed

2. 下载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

3. 解压软件包。
  1 unzip CMake-3.28.0.zip

4. 运行configure脚本。
  1 2 cd CMake-3.28.0 ./configure --prefix=/opt/tools/installed/CMake-3.28.0/build

5. 编译CMake并安装。
  1 2 gmake gmake install

6. 使用以下命令添加环境变量。
  1 export PATH=/opt/tools/installed/CMake-3.28.0/build/bin:$PATH

7. 检查CMake安装版本是否为3.28.0。
  1 cmake --version


#### 安装Ninja

1. 进入安装目录。
  1 cd /opt/tools/installed

2. 下载Ninja 1.12.1。
  1 wget https://github.com/ninja-build/ninja/releases/download/v1.12.1/ninja-linux-aarch64.zip

3. 解压软件包。
  1 unzip ninja-linux-aarch64.zip -d ninja

4. 使用以下命令添加环境变量。
  1 export PATH=/opt/tools/installed/ninja:$PATH

5. 检查Ninja安装版本是否为1.12.1。
  1 ninja --version


#### 安装Clang

1. 进入安装目录。
  1 cd /opt/tools/installed

2. 下载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

3. 解压软件包。
  1 tar -zxvf llvm-project-llvmorg-17.0.6.tar.gz

4. 创建安装目录并进入目录。
  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

5. 生成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

6. 使用96个线程并行构建LLVM项目并安装。
  1 2 ninja -j96 ninja install

7. 使用以下命令添加环境变量。
  1 export PATH=/opt/tools/installed/llvm-project-llvmorg-17.0.6/install/bin:$PATH

8. 检查Clang安装版本是否为17.0.6。
  1 clang --version


#### 安装GCC

1. 进入安装目录。
  1 cd /opt/tools/installed

2. 下载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

3. 安装软件包并将得到的GCC 12软件包gcc-12.3.1-2024.05-aarch64-linux.tar.gz移动到“/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

4. 解压压缩包。
  1 tar -zxvf gcc-12.3.1-2024.05-aarch64-linux.tar.gz

5. 使用以下命令添加环境变量。
  1 export PATH=/opt/tools/installed/gcc-12.3.1-2024.05-aarch64-linux/bin:$PATH

6. 检查GCC安装版本是否为12.3.1。
  1 gcc --version


#### 安装Autoconf

1. 安装系统软件包。
  1 sudo yum install -y byacc patch automake libtool make which file ncurses-devel gettext-devel unzip bzip2 zip util-linux wget git python

2. 安装Autoconf 2.69。

  a. 下载并解压软件安装包。
    1 2 wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar zxf autoconf-2.69.tar.gz

  b. 进入软件目录。
    1 cd autoconf-2.69

  c. 编译安装软件包。
    1 2 3 ./configure make make install


#### 配置环境变量

1. 打开“/etc/profile”文件。
  1 vi /etc/profile

2. 按“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

3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
4. 启用环境变量。
  1 source /etc/profile
