---
title: 编译和安装
description: "1. 使用PuTTY工具，以root用户登录服务器。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpcindapp/prtg-osc/kylin_kunpeng_deepmdkit_deepmdkitv215_02_0005.html
sourcePath: /source/zh/kunpenghpcs/hpcindapp/prtg-osc/kylin_kunpeng_deepmdkit_deepmdkitv215_02_0005.html
indexId: 3d2152984a36d8f3a278c2badc75ef5f17f185979756177d5e08b6e944e0e20e92
---
# 编译和安装

#### 操作步骤

1. 使用PuTTY工具，以root用户登录服务器。
2. 执行以下命令进入主程序安装目录。

```
cd
/path/to/DEEPMDKIT
```


3. 执行以下命令创建虚拟python环境。

```
python3 -m venv test
source
test/bin/activate
```


4. 执行以下命令配置环境变量。

```
export CC=gcc CXX=g++ FC=gfortran
```


5. 执行以下命令创建并进入bazel目录。

```
mkdir bazel
cd bazel
```


6. 执行以下命令下载bazel。

```
wget https://github.com/bazelbuild/bazelisk/releases/download/v1.16.0/bazelisk-linux-arm64
```


7. 执行以下命令进入配置bazel。

```
chmod a+x bazelisk-linux-arm64
ln -sf bazelisk-linux-arm64 bazel
export PATH=`pwd`:$PATH
```


8. 执行以下命令创建并进入tensorflow目录。

```
cd ..
mkdir tensorflow
cd tensorflow/
```


9. 执行以下命令下载tensorflow源码包。

```
git clone https://github.com/tensorflow/tensorflow tensorflow -b v2.8.0 --depth=1
```


10. 执行以下命令进入tensorflow源码目录并配置。

```
cd tensorflow/
./configure
```


11. 配置选项可以参考下图。
12. 执行以下命令构建 TensorFlow的共享库。

```
bazel build -c opt --verbose_failures //tensorflow:libtensorflow_cc.so
```


13. 如出现证书验证问题，可以通过以下命令导入证书。

```
vim
~
/.bazelrc
```


  输入以下内容, /path/to/jre/lib/security/cacerts为java证书路径，示例中使用默认密码changeit。

```
startup --host_jvm_args=-Djavax.net.ssl.trustStore=
/path/to/jre/lib/security/cacerts
--host_jvm_args=-Djava.net.ssl.trustStorePassword=changeit
```


14. 执行以下命令重启bazel。

```
bazel shutdown
```


15. 执行以下命令将库文件复制到TensorFlow的安装目录。

```
export tensorflow_root=/path/to/DEEPMDKIT/tensorflow/tensorflow_root
mkdir -p $tensorflow_root/lib
cp -d bazel-bin/tensorflow/libtensorflow_cc.so* $tensorflow_root/lib/
cp -d bazel-bin/tensorflow/libtensorflow_framework.so* $tensorflow_root/lib/
cp -d $tensorflow_root/lib/libtensorflow_framework.so.2 $tensorflow_root/lib/libtensorflow_framework.so
```


16. 执行以下命令复制头文件。

```
mkdir -p $tensorflow_root/include/tensorflow
rsync -avzh --exclude '_virtual_includes/' --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-bin/ $tensorflow_root/include/
rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/cc $tensorflow_root/include/tensorflow/
rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' tensorflow/core $tensorflow_root/include/tensorflow/
rsync -avzh --include '*/' --include '*' --exclude '*.cc' third_party/ $tensorflow_root/include/third_party/
rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-tensorflow/external/eigen_archive/Eigen/ $tensorflow_root/include/Eigen/
rsync -avzh --include '*/' --include '*' --exclude '*.txt' bazel-tensorflow/external/eigen_archive/unsupported/ $tensorflow_root/include/unsupported/
rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-tensorflow/external/com_google_protobuf/src/google/ $tensorflow_root/include/google/
rsync -avzh --include '*/' --include '*.h' --include '*.inc' --exclude '*' bazel-tensorflow/external/com_google_absl/absl/ $tensorflow_root/include/absl/
```


17. 执行以下命令进入DEEPMDKIT源码目录。

```
cd /path/to/DEEPMDKIT/deepmd-kit/source
```


18. 执行以下命令创建并进入编译目录。

```
mkdir build
cd build
```


19. 执行以下命令生成makefile。

```
cmake -DTENSORFLOW_ROOT=$tensorflow_root -DCMAKE_INSTALL_PREFIX=/path/to/DEEPMDKIT/deepmdkit_install ..
```


20. 执行以下命令编译DEEPMDKIT。

```
make
make install
```
