鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

配置编译环境

编译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. 安装软件包并将得到的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
    
  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。
    1. 下载并解压软件安装包。
      1
      2
      wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
      tar zxf autoconf-2.69.tar.gz
      
    2. 进入软件目录。
      1
      cd autoconf-2.69
      
    3. 编译安装软件包。
      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