---
title: 安装依赖（源码编译安装方式）
description: "使用源码编译前，需在各节点安装GCC/G++、devtoolset-gcc、Autoconf以及CMake，其版本要求参考表1。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200SPC5/bds/kunpengomniop_20_0023.html
sourcePath: /source/zh/kunpengboostkithistory/2200SPC5/bds/kunpengomniop_20_0023.html
indexId: aed9872a527496ab13c85b221025d4d48c95b56d07db7906a5c673be1234939173
---
# 安装依赖（源码编译安装方式）

使用源码编译前，需在各节点安装GCC/G++、devtoolset-gcc、Autoconf以及CMake，其版本要求参考表1。

- LLVM需在CentOS 7.6上编译，才能在两种操作系统环境上正常运行，需在CentOS 7.6上安装devtoolset-gcc。
- jemalloc编译对环境没有限制，若在openEuler上编译，需在openEuler 20.03 LTS SP1安装GCC/G++。


**表1 源码编译前需要配置的软件**

| 名称 | 版本要求 |
| --- | --- |
| GCC/G++ | 7.3.0 |
| devtoolset\-gcc | 7 |
| Autoconf | 2.69 |
| CMake | 3.13.4 |


#### LLVM安装

下述步骤需在管理节点和所有计算节点操作。

1. 下载https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-12.0.1.tar.gz(https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-12.0.1.tar.gz)，在管理节点和计算节点上创建目录“/opt/omni-operator”作为部署OmniOperator算子加速的根目录并进入，将压缩包上传到“/opt/omni-operator”目录下。

```
mkdir /opt/omni-operator
cd /opt/omni-operator
tar zxvf llvm-project-llvmorg-12.0.1.tar.gz
mv llvm-project-llvmorg-12.0.1 llvm
cd llvm
mkdir build
```


2. 进入“build”目录编译并安装LLVM。

```
cd ./build
cmake -DCMAKE_INSTALL_PREFIX=/opt/llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_LLVM_DYLIB=true -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi" -G "Unix Makefiles" ../llvm
make -j4
make install
```


3. 在“/opt/omni-operator”下创建“lib”目录，拷贝“/opt/omni-operator/llvm/lib/libLLVM-12.so”到“/opt/omni-operator/lib”目录下。

```
mkdir /opt/omni-operator/lib
cp /opt/omni-operator/llvm/lib/libLLVM-12.so /opt/omni-operator/lib/
```


“/opt/omni-operator”、“/opt/omni-operator/llvm”和“/opt/omni-operator/lib” 目录用户可自行定义。


#### Jemalloc安装

下述步骤需在管理节点和所有计算节点操作。

1. 下载https://github.com/jemalloc/jemalloc/archive/refs/tags/5.2.1.tar.gz(https://github.com/jemalloc/jemalloc/archive/refs/tags/5.2.1.tar.gz)，并上传到管理节点和计算节点的“/opt/omni-operator”目录下。

```
cd /opt/omni-operator/
tar zxvf jemalloc-5.2.1.tar.gz
mv jemalloc-5.2.1 jemalloc
```


2. 进入“jemalloc”目录，运行脚本并安装。

```
cd jemalloc
./autogen.sh --disable-initial-exec-tls
make –j2
```


3. 拷贝“/opt/omni-operator/jemalloc/lib/libjemalloc.so.2”到“/opt/omni-operator/lib”目录下。

```
cp /opt/omni-operator/jemalloc/lib/libjemalloc.so.2 /opt/omni-operator/lib/
```


“/opt/omni-operator/jemalloc”目录用户可自行定义。
