1.Visit the GAMESS homepage and request a copy of the “64 bit x86_64 under Linux using gnu compilers” source code
2.Download the source code file, gamess-current.tar.gz, using the username “source” and the password in the email message that you received.
3.Make sure you have csh and gfortran and patch installed
sudo yum install csh gcc-gfortran #for CentOS and Amazon Linux
sudo yum install patch #for CentOS and Amazon Linux
or
sudo apt-get install csh gfortran #for Debian, Ubuntu, UOS
sudo apt-get install patch #for Debian, Ubuntu, UOS
4.Uncompress the archive
cd ~
tar xzf ~/Downloads/gamess-current.tar.gz
5.Install math libraries MKL ( recommendation , not required, it depends on the choice of step 6 )
- Download the MKL source file and uncompress
cd ~/Downloads/
curl -O https://registrationcenter-download.intel.com/akdlm/irc_nas/tec/16917/l_mkl_2020.4.304_online.tgz
tar vfx l_mkl_2020.4.304_online.tgz
My UOS example:
- Install MKL with GUI
cd l_mkl_2020.4.304_online/
./install_GUI.sh
My UOS example:
- Notice: the default install path is
$HOME/intel
,in my example the path is/home/ditan/intel
Remeber the path,we will use it in step 6. - With the GUI click the “Next” ->”Next->”Install ” ,wait till the installation complete.(ps.This will take 5 minitues or more, keep the Internet connected)
6.Configure the GAMESS installation
cd ~/gamess
./config
- Follow the on screen prompts
- Set the machine type to linux64
- Leave the gamess installation directory as the default
- Leave the gamess build location as the default
- Leave the gamess version number as 00
- Enter “gfortran” for your choice of FORTRAN
- Follow the onscreen instructions to obtain the gfortran version
- If you have “MKL” math libraries installed, enter “MKL” ,otherwiser enter “none”
- Use “sockets” rather than MPI
- Answer “no” to LibXC interface, CCT3 & CCSD3A methods, and LIBCCHEM options
My UOS example:
(1) please enter your target machine name: linux64
(2)GAMESS directory? [/home/ditan/gamess] Press Enter
(3)GAMESS build directory? [/home/ditan/gamess] Press Enter
(4)Version? [00] Press Enter
(5)Please enter your choice of FORTRAN: gfortran
(6)Please enter only the first decimal place, such as 4.9: 8.3
To check the version of gfortran use commands below:
fortran -v
(7)hit to continue to the math library setup.Press Enter
(8)Enter your choice of ‘mkl’ or ‘atlas’ or ‘acml’ or ‘libflame’ or ‘openblas’ or ‘pgiblas’ or ‘armpl’ or ‘none’: mkl
(9)MKL pathname? /home/ditan/intel/mkl
# it depends on step 5 path setting.
(10)MKL version (or ‘proceed’)? proceed
(11)please hit to set up your network for Linux clusters.Press Enter
(12)communication library (‘serial’,’sockets’ or ‘mpi’ or ‘mixed’)? sockets
(13)Optional: Build LibXC interface? (yes/no): no
(14)Optional: Build Michigan State University CCT3 & CCSD3A methods? (yes/no): no
(15)Do you want to try LIBCCHEM? (yes/no): no
(16)the finnal outputs in my exmale:
Your configuration for GAMESS compilation is now in
/home/ditan/gamess/install.info
Now, please follow the directions in
/home/ditan/gamess/machines/readme.unix
7.Compile ddi
cd ~/gamess
make ddi
My UOS example:
8.Compile modules
cd ~/gamess
make modules
cd ~/gamess
make -j 4 #The "-j" specifies the number of jobs (commands) to run, will save your time on compiling.
9.Update the rungms script
set SCR=/scr1/$USER
set USERSCR=~/gamess-devv
set GMSPATH=~/gamess-devv
Edit the following lines to read as follows
set USERSCR=/tmp
set GMSPATH=~/gamess
gedit ~/gamess/rungms
vim ~/gamess/rungms
cd ~/gamess
sed -i 's/\/scr1\/$USER/\/tmp/' ./rungms
sed -i 's/USERSCR\=\~\/gamess-devv/USERSCR\=\/tmp/' ./rungms
sed -i 's/GMSPATH\=\~\/gamess-devv/GMSPATH\=\~\/gamess/' ./rungms
10.Update the runall script,repalce the first the “si.msg.chem.iastate.edu” with your real hostname
$ hostname
sed -i "s/si.msg.chem.iastate.edu/$HOSTNAME/" ~/gamess/runall
#Notice: You can only exceute it once,or you'll meet the following error: "xgms: Command not found" .
11.Test the program by running all of the short tests.
cd ~/gamess
./runall 00
~/gamess/tests/standard/checktst
12. To make it easy to access the ‘rungms’ script,It’ better to define alias in the .bashrc files such as alias gms ‘$HOME/gamess/rungms’.
echo "alias gms='$HOME/gamess/rungms'" >> ~/.bashrc #for Debian, Ubuntu, UOS
echo "alias gms='$HOME/gamess/rungms'" >> ~/.bash_profile #for CentOS and Amazon Linux
This will allow them to execute their input file xxx.inp using this universal script, by
gms xxx >& xxx.log &
When only one argument is given, the version number will be what you customized in ‘rungms’ and the number of processors will default itself to 1.
13.Erros Workarounds:
ddikick requires significant amounts of shared memory. If your output file contains the error message:
DDI Process 0: error code 911
ddikick.x: application process 0 quit unexpectedly.
ddikick.x: Fatal error detected.
The error is most likely to be in the application, so check for input errors, disk space, memory needs, application bugs, etc.
ddikick.x will now clean up all processes, and exit…
you can try increasing your shared memory. First display the amount of shared memory available (in bytes):
# cat /proc/sys/kernel/shmmax
Then try increasing it to 4GB:
# echo 4294967296 > /proc/sys/kernel/shmmax
# echo "kernel.shmmax=4294967296" >> /etc/sysctl.conf
or try increasing it to 16GB:
# echo 17179869184 > /proc/sys/kernel/shmmax
# echo "kernel.shmmax=17179869184" >> /etc/sysctl.conf
References:
A.source mannul file1:~/gamess/README.md
B.source mannul file2:~/gamess/machines/readme.unix