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

#### 操作步骤

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

```
cd
/path/to/VMD
```


3. 执行以下命令解压安装包。

```
tar -xvf vmd-1.9.4a55.src.tar.gz
```


4. 执行以下命令进入解压后路径。

```
cd vmd-1.9.4a55
```


5. 执行以下命令安装fltk。

```
yum install fltk fltk-devel
```


6. 执行以下命令安装actc。

  a. 执行以下命令创建并进入“actc”目录。

```
mkdir -p
/path/to/VMD
/
vmd-1.9.4a55/lib/actc
cd
/path/to/VMD
/
vmd-1.9.4a55/lib/actc
```


  b. 下载actc安装包。
    下载地址：https://sourceforge.net/projects/actc/(https://sourceforge.net/projects/actc/)

  c. 执行以下命令解压安装包。

```
tar xvf actc-1.1.tar.gz
```


  d. 执行以下命令编译actc。

```
mv actc-1.1/* ./
make
```


    若回显信息中有“libactc.a”，则表示编译成功。需要额外信息请查看README。

7. 执行以下命令安装stride。

  a. 执行以下命令进入“stride”目录。

```
cd
/path/to/VMD
/
vmd-1.9.4a55/lib/stride
```


  b. 下载stride安装包。
    下载地址：https://github.com/stride3d/stride(https://github.com/stride3d/stride)

  c. 执行以下命令解压安装包。

```
tar xvf stride.tar.gz
```


  d. 执行以下命令安装stride。

```
make
```


  e. 执行以下命令创建软连接。

```
ln -s
/path/to/VMD
/
vmd-1.9.4a55/lib/stride/stride
/path/to/VMD/
vmd-1.9.4a55/lib/stride/stride_LINUXARM64
```


8. 执行以下命令安装surf。

  a. 执行以下命令进入“surf”目录。

```
cd
/path/to/VMD
/
vmd-1.9.4a55/lib/surf
```


  b. 执行以下命令解压安装包。

```
tar xvf surf.tar.Z
```


  c. 执行以下命令安装surf。

```
yum install imake
make depend
make surf
```


  d. 执行以下命令创建软连接。

```
ln -s
/path/to/VMD
/
vmd-1.9.4a55/lib/stride/surf
/path/to/VMD
/
vmd-1.9.4a55/lib/stride/surf_LINUXARM64
```


9. 执行以下命令安装vrpn。

  a. 执行以下命令创建并进入“vrpn”目录。

```
mkdir -p
/path/to/VMD
/
vmd-1.9.4a55/lib/vrpn
cd
/path/to/VMD
/
vmd-1.9.4a55/lib/vrpn
```


  b. 下载vrpn安装包。
    下载地址：https://github.com/vrpn/vrpn(https://github.com/vrpn/vrpn)

  c. 执行以下命令解压安装包。

```
unzip vrpn-master.zip
```


  d. 执行以下命令安装vrpn。

```
mv vrpn-master/* ./
mkdir build
cd build
yum install cmake libarchive
cmake ../ -DCMAKE_INSTAL_PREFIX=
/path/to/vmd
/vmd-1.9.4a55/lib/vrpn/
make && make install
```


10. 执行以下命令安装tachyon。

  a. 执行以下命令进入“tachyon”目录。

```
cd
/path/to/VMD
/
vmd-1.9.4a55/lib/tachyon
```


  b. 下载tachyon安装包。
    下载地址：http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/tachyon-0.99b6.tar.gz(http://jedi.ks.uiuc.edu/~johns/raytracer/files/0.99b6/tachyon-0.99b6.tar.gz)

  c. 执行以下命令解压安装包。

```
tar xvf tachyon-0.99b6.tar.gz
```


  d. 执行以下命令进入安装包“unix”目录。

```
cd tachyon/unix
```


  e. 执行以下命令修改配置文件“Make-config”。

    1. 打开配置文件“Make-config”。

```
vi Make-config
```


    2. 按“i”进入编辑模式，将支持JPEG和PNG部分全部注释掉。
      修改前：

```
169 USEJPEG=
170 JPEGINC=
171 JPEGLIB=
…
189 USEPNG=
190 PNGINC=
191 PNGLIB=
```


      修改后：

```
169 #USEJPEG=
170 #JPEGINC=
171 #JPEGLIB=
…
189 #USEPNG=
190 #PNGINC=
191 #PNGLIB=
```


      执行10.e.i之后，按“Esc”键，输入“:set nu”，按“Enter”即可显示出行号。

    3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  f. 执行以下命令去除-m64编译参数。

```
sed -i "s/-m64//" Make-arch
```


  g. 执行以下命令修改“spaceball.c”文件。

    1. 打开“spaceball.c”文件。

```
cd ../ demosrc
vi spaceball.c
```


    2. 按“i”进入编辑模式，将第35行的port修改为serialport，以及在第109、110、111行添加括号。
      修改前：

```
35   if (port != NULL) {
…
109   if ((buttonchanged & SBALL_BUTTON_PICK) && (buttons & SBALL_BUTTON_PICK)) ||
110       (buttonchanged & SBALL_BUTTON_1) && (buttons & SBALL_BUTTON_1)) ||
111       (buttonchanged & SBALL_BUTTON_LEFT) && (buttons & SBALL_BUTTON_LEFT)) ) {
```


      修改后：

```
35   if (serialport != NULL) {
…
109   if (((buttonchanged & SBALL_BUTTON_PICK) && (buttons & SBALL_BUTTON_PICK)) ||
110       ((buttonchanged & SBALL_BUTTON_1) && (buttons & SBALL_BUTTON_1)) ||
111       ((buttonchanged & SBALL_BUTTON_LEFT) && (buttons & SBALL_BUTTON_LEFT)) ) {
```


      执行10.g.i之后，按“Esc”键，输入“:set nu”，按“Enter”即可显示出行号。

    3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  h. 执行以下命令安装tachyon。

```
cd ../unix
make linux-64-thr
```


  i. 执行以下命令创建软连接。

```
ln –s
/path/to/vmd
/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr/tachyon /path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon_LINUXARM64
```


11. 执行以下命令安装Tcl/Tk 8.5。

  a. 下载Tcl、Tk的rpm包。
    Tcl下载地址：https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tcl-8.5.13-8.el7.aarch64.rpm(https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tcl-8.5.13-8.el7.aarch64.rpm)

    https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tcl-devel-8.5.13-8.el7.aarch64.rpm(https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tcl-devel-8.5.13-8.el7.aarch64.rpm)

    Tk下载地址：https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tk-8.5.13-6.el7.aarch64.rpm(https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tk-8.5.13-6.el7.aarch64.rpm)

    https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tk-devel-8.5.13-6.el7.aarch64.rpm(https://mirrors.huaweicloud.com/centos-vault/altarch/7/os/aarch64/Packages/tk-devel-8.5.13-6.el7.aarch64.rpm)

  b. 使用SFTP工具将Tcl、Tk的rpm包上传至服务器“/path/to/rpm”目录。
  c. 执行以下命令安装Tcl、Tk。

```
cd
/path/to/rpm
rpm –ivh tcl-8.5.13-8.el7.aarch64.rpm
rpm –ivh tcl-devel-8.5.13-8.el7.aarch64.rpm
rpm –ivh tk-8.5.13-6.el7.aarch64.rpm
rpm –ivh tk-devel-8.5.13-6.el7.aarch64.rpm
```


12. 执行以下命令编译plugins。

  a. 执行以下命令进入“plugins”目录。

```
cd
/path/to/VMD
/
plugins
```


  b. 执行以下命令设置Tcl头文件和库文件环境变量。

```
export TCL_INCLUDE_DIR=/usr/share/tcl8.5
export TCL_LIBRARY_DIR=/usr/lib64/tcl8.5
```


  c. 执行以下命令编译。

```
make LINUXARM64
mkdir
/path/to/vmd
/vmd-1.9.4a55/plugins
export PLUGINDIR=
/path/to/vmd
/vmd-1.9.4a55/plugins
make distrib
```


13. 执行以下命令编译VMD。

  a. 执行以下命令进入“vmd-1.9.4a55”目录。

```
cd
/path/to/vmd
/vmd-1.9.4a55/
```


  b. 执行命令修改配置文件。

    1. 打开配置文件。

```
vi configure
```


    2. 按“i”进入编辑模式。

      - 设置安装路径信息。

```
$install_bin_dir="/path/to/vmd/ vmd-1.9.4a55/bin";
$install_library_dir="/path/to/vmd/ vmd-1.9.4a55/lib/vmd";
```


      - 设置tachyon环境变量。

```
$libtachyon_dir="/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon";
$libtachyon_include="-I/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/src";
$libtachyon_library="-L"/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr;
```


      - 修改LINUXARM64的$arch_nvccflags参数，注释掉"-gencode arch=compute_30,code=compute_30 " 。
        修改前：

```
16 $install_bin_dir="/usr/local/bin";
17
18 # Directory where VMD files and executables are installed
19 $install_library_dir="/usr/local/lib/$install_name";
…
1354 $libtachyon_dir         = "$vmd_library_dir/tachyon";
1355 $libtachyon_include     = "-I$libtachyon_dir/include";
1356 $libtachyon_library     = "-L$libtachyon_dir/lib_$config_arch";
…
2627                     "-gencode arch=compute_30,code=compute_30 " .
```


        修改后：

```
16 $install_bin_dir="/path/to/vmd/vmd-1.9.4a55/bin";
17
18 # Directory where VMD files and executables are installed
19 $install_library_dir="/path/to/vmd/vmd-1.9.4a55/lib/vmd";
…
1354 $libtachyon_dir         = "/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon";
1355 $libtachyon_include     = "-I/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/src";
1356 $libtachyon_library     = "-L/path/to/vmd/vmd-1.9.4a55/lib/tachyon/tachyon/compile/linux-64-thr";
…
2627   #"-gencode arch=compute_30,code=compute_30 " .
```


        执行13.b.i之后，按“Esc”键，输入“:set nu”，按“Enter”即可显示出行号。

    3. 按“Esc”键，输入:wq!，按“Enter”保存并退出编辑。
  c. 执行以下命令编译。

```
./configure LINUXARM64 EGLPBUFFER CUDA IMD LIBTACHYON ZLIB COLVARS TCL PTHREADS SILENT
cd src && make veryclean
make
```


    若显示中出现“No resource compiler required on this platform”，表示编译顺利。

```
make install
```


    若回显信息中显示"Make sure /Projects/vmd/ vmd-1.9.4a55/bin is in your path.VMD installation complete. Enjoy!"，表示安装成功。
