Compilation and Installation
Procedure
- Use PuTTY to log in to the server as the root user.
- Go to the main program installation directory.
cd /path/to/VMD
- Decompress the installation package.
tar -xvf vmd-1.9.4a55.src.tar.gz
- Go to the directory generated after the decompression.
cd vmd-1.9.4a55
- Install FLTK.
yum install fltk fltk-devel
- Install ACTC.
- Create an ACTC directory and switch to the directory.
mkdir -p /path/to/VMD/vmd-1.9.4a55/lib/actc cd /path/to/VMD/vmd-1.9.4a55/lib/actc
- Download the ACTC installation package.
- Decompress the installation package.
tar xvf actc-1.1.tar.gz
- Compile ACTC.
mv actc-1.1/* ./ make
If the command output contains libactc.a, the compilation is successful. For additional information, see README.

- Create an ACTC directory and switch to the directory.
- Install Stride.
- Go to the stride directory.
cd /path/to/VMD/vmd-1.9.4a55/lib/stride
- Download the Stride installation package.
- Decompress the installation package.
tar xvf stride.tar.gz
- Install Stride.
make
- Create a soft link.
ln -s /path/to/VMD/vmd-1.9.4a55/lib/stride/stride /path/to/VMD/vmd-1.9.4a55/lib/stride/stride_LINUXARM64
- Go to the stride directory.
- Install Surf.
- Go to the Surf directory.
cd /path/to/VMD/vmd-1.9.4a55/lib/surf
- Decompress the installation package.
tar xvf surf.tar.Z
- Install Surf.
yum install imake make depend make surf
- Create a soft link.
ln -s /path/to/VMD/vmd-1.9.4a55/lib/stride/surf /path/to/VMD/vmd-1.9.4a55/lib/stride/surf_LINUXARM64
- Go to the Surf directory.
- Install VRPN.
- Create a VRPN directory and switch to the directory.
mkdir -p /path/to/VMD/vmd-1.9.4a55/lib/vrpn cd /path/to/VMD/vmd-1.9.4a55/lib/vrpn
- Download the VRPN installation package.
- Decompress the installation package.
unzip vrpn-master.zip
- Install 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
- Create a VRPN directory and switch to the directory.
- Install Tachyon.
- Go to the Tachyon directory.
cd /path/to/VMD/vmd-1.9.4a55/lib/tachyon
- Download the Tachyon installation package.
https://ftp.sudhip.com/archlinux/other/community/tachyon/tachyon-0.99b6.tar.gz
- Decompress the installation package.
tar xvf tachyon-0.99b6.tar.gz
- Go to the unix directory of the installation package.
cd tachyon/unix
- Modify the Make-config file.
- Open the Make-config file.
vi Make-config
- Press i to enter the edit mode and comment out the JPEG and PNG lines.
Before the modification:
169 USEJPEG= 170 JPEGINC= 171 JPEGLIB= ... 189 USEPNG= 190 PNGINC= 191 PNGLIB=
After the modification:
169 #USEJPEG= 170 #JPEGINC= 171 #JPEGLIB= ... 189 #USEPNG= 190 #PNGINC= 191 #PNGLIB=
- Press Esc, enter :wq!, and press Enter to save the script and exit.
- Open the Make-config file.
- Delete the -m64 compilation parameters.
sed -i "s/-m64//" Make-arch

- Modify the spaceball.c file.
- Open the spaceball.c file.
cd ../ demosrc vi spaceball.c
- Press i to enter the edit mode, change port in line 35 to serialport, and add parentheses to lines 109, 110, and 111.
Before the modification:
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)) ) {After the modification:
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)) ) { - Press Esc, enter :wq!, and press Enter to save the script and exit.
- Open the spaceball.c file.
- Install Tachyon.
cd ../unix make linux-64-thr
- Create a soft link.
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
- Go to the Tachyon directory.
- Install TCL 8.5 and TK 8.5.
- Download the TCL and TK RPM packages.
TCL: http://mirror.centos.org/altarch/7/os/aarch64/Packages/tcl-8.5.13-8.el7.aarch64.rpm
http://mirror.centos.org/altarch/7/os/aarch64/Packages/tcl-devel-8.5.13-8.el7.aarch64.rpm
TK: http://mirror.centos.org/altarch/7/os/aarch64/Packages/tk-8.5.13-6.el7.aarch64.rpm
http://mirror.centos.org/altarch/7/os/aarch64/Packages/tk-devel-8.5.13-6.el7.aarch64.rpm
- Use an SFTP tool to upload the TCL and TK installation packages to the /path/to/rpm directory on a server.
- Install TCL and 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
- Download the TCL and TK RPM packages.
- Compile plugins.
- Go to the plugins directory.
cd /path/to/VMD/plugins
- Set the environment variables of the TCL header file and library file.
export TCL_INCLUDE_DIR=/usr/share/tcl8.5 export TCL_LIBRARY_DIR=/usr/lib64/tcl8.5
- Perform the compilation.
make LINUXARM64 mkdir /path/to/vmd/vmd-1.9.4a55/plugins export PLUGINDIR=/path/to/vmd/vmd-1.9.4a55/plugins make distrib
- Go to the plugins directory.
- Compile VMD.
- Go to the vmd-1.9.4a55 directory.
cd /path/to/vmd/vmd-1.9.4a55/
- Modify the configuration file.
- Open the configuration file.
vi configure
- Press i to enter the edit mode.
- Set the installation path.
$install_bin_dir="/path/to/vmd/ vmd-1.9.4a55/bin"; $install_library_dir="/path/to/vmd/ vmd-1.9.4a55/lib/vmd";
- Set the Tachyon environment variables.
$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;
- Modify the $arch_nvccflags parameter of Linux ARM64 and comment out "-gencode arch=compute_30,code=compute_30 " .s.
Before the modification:
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 " .
After the modification:
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 " .
- Set the installation path.
- Press Esc, enter :wq!, and press Enter to save the script and exit.
- Open the configuration file.
- Perform the compilation.
./configure LINUXARM64 EGLPBUFFER CUDA IMD LIBTACHYON ZLIB COLVARS TCL PTHREADS SILENT cd src && make veryclean make
If "No resource compiler required on this platform" is displayed, the compilation is successful.
make install
If "Make sure /Projects/vmd/ vmd-1.9.4a55/bin is in your path.VMD installation complete. Enjoy!" is displayed, the installation is successful.
- Go to the vmd-1.9.4a55 directory.