Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
installation_guide [2021/09/16 13:30] – [Installation of the trial version] dollinstallation_guide [2022/11/29 15:37] (current) – tarball source distribution may
Line 1: Line 1:
 ====== Installation guide ====== ====== Installation guide ======
  
-Molpro is distributed to licensees on a self-service basis using the world-wide web. Those entitled to the code should obtain it from https://www.molpro.net/download supplying the username and password given to them. The web pages contain links to the binaries and details of how to access the source code via git, although not everyone is entitled to source code, and binaries are not available for every platform.+Molpro is distributed to licensees on a self-service basis using the world-wide web. Those entitled to the code should obtain it from https://www.molpro.net/download supplying the username and password given to them. The web pages contain links to the binaries and source code, although not everyone is entitled to source code, and binaries are not available for every platform.
  
 Execution of Molpro, whether a supplied binary or built from source, requires a valid licence key. Note that the key consists of two components, namely a list of comma-separated key=value pairs, and a password string, and these are separated by ‘&’. Execution of Molpro, whether a supplied binary or built from source, requires a valid licence key. Note that the key consists of two components, namely a list of comma-separated key=value pairs, and a password string, and these are separated by ‘&’.
Line 25: Line 25:
 Other configuration options may also be specified in the molpro script file found in the bin directory of the install. Other configuration options may also be specified in the molpro script file found in the bin directory of the install.
  
-==== Installation of the trial version ====+==== Detailed installation of the trial version ====
  
 If you hold a trial licence, then this corresponds to the installation of pre-built binaries as just described  If you hold a trial licence, then this corresponds to the installation of pre-built binaries as just described 
Line 35: Line 35:
  
 1) On your account page which you made at www.molpro.net , in section "Licences", there is a link "Sign now". Click this link and sign 1) On your account page which you made at www.molpro.net , in section "Licences", there is a link "Sign now". Click this link and sign
-the licence agreement. +the licence agreement.\\ 
 2) The trial licence is only valid for one specific computer.  2) The trial licence is only valid for one specific computer. 
 You have to determine the sysid of this computer. You have to determine the sysid of this computer.
-Download the script getinfo.sh from https://www.molpro.net/resources/getinfo.sh +Download the script getinfo.sh from https://www.molpro.net/resources/getinfo.sh\\  
- +3) Run the script on the computer where you want to install Molpro on, like this:\\  
-3) Run the script on the computer where you want to install Molpro on, like this: +**sh getinfo.sh**\\  
- +This will give an output such as:  **4m00224dacb030**\\  
-**sh getinfo.sh** +In some cases, it may look like this:    **4m00224dacb030:4m00224dacb031**\\  
- +4) Enter the full string on your account page in the section "Licences", in the box "Sysid", and hit the return key.\\  
-This will give an output such as:  **4m00224dacb030** +There should now be a link "Download token" and a line "Default token: Id= ...."\\ 
- +
-In some cases, it may look like this:    **4m00224dacb030:4m00224dacb031** +
- +
-4) Enter the full string on your account page in the section Licences, in the box Sysid, and hit the return key. +
-There should now be a link "Download token" and a line "Default token: Id= ...." +
 5) Now go to "Download" on your account page. It may take a few seconds, until the page is displayed. 5) Now go to "Download" on your account page. It may take a few seconds, until the page is displayed.
-Download the version for your operating system (Linux or Mac, but +Download the version for your operating system (Linux or Mac, but not Windows).\\  
-not Windows).+6) Uncompress the file molpro-mpptype-arch.sh.gz (it might be called e.g. molpro-mpp-2021.2.1.linux_x86_64_sockets.sh.gz )\\  
 +**gunzip molpro-mpptype-arch.sh.gz**\\  
 +7) Run the file as root:\\  
 +**sudo sh molpro-mpptype-arch.sh**\\  
 +Questions as shown below pop up. You may hit the return key which will use the defaults.\\  
 +**Enter bin directory to link Molpro (optional)** (hit return key)\\  
 +**Enter installation directory for Molpro files [/usr/local/molpro/molpro_20XX.X]**  (e.g. something like /usr/local/molpro/molpro_2021.2 will be suggested) ; hit return key\\  
 +**Please give your username for accessing molpro** (enter the account name of your account)\\  
 +**Please give your password for accessing molpro** (enter the password of your account)\\  
 +When things have worked well, you should get a message:  **Token sucessfully downloaded and installed**\\  
 +You may now try to run molpro:  **/usr/local/molpro/molpro_20XX.X/bin/molpro** (use proper path, e.g. something like /usr/local/molpro/molpro_2021.2/bin/molpro)\\ 
  
-6) Uncompress the file, e.g. let us assume molpro-mpp-2021.2.1.linux_x86_64_sockets.sh.gz was downloaded+==== Installation of a full version ====
  
-gunzip molpro-mpp-2021.2.1.linux_x86_64_sockets.sh.gz +licences for single machines: the steps are the same as when installing the trial version
- +
-7) Run the file as root, e.g.: +
- +
-sudo sh molpro-mpp-2021.2.1.linux_x86_64_sockets.sh +
- +
-Questions as show below pop up. You may hit the return key which will use the defaults. +
- +
-**Enter bin directory to link Molpro (optional)** (hit return key) +
- +
-**Enter installation directory for Molpro files [/usr/local/molpro/molpro_2021.2]**  (hit return key) +
- +
-**Please give your username for accessing molpro** (enter the account name of your account) +
- +
-**Please give your password for accessing molpro** (enter the password of your account) +
- +
-When things have worked well, you should get a message:  **Token sucessfully downloaded and installed** +
- +
-You may now try to run molpro:  **/usr/local/molpro/molpro_2021.2/bin/molpro**+
  
 +group, site, service licences: it is not necessary to determine a sysid. The other steps are similar as when installing the trial version.
 +File permissions should be set in such a way that the code is only made available to users which are covered by the licence.
  
  
Line 99: Line 86:
 The following are required or strongly recommended for installation from source code. The following are required or strongly recommended for installation from source code.
  
-  - A modern Fortran compiler. Molpro has Fortran code spanning Fortran 77 standard up to and including F2018 standard features. We aim to test Molpro regularly using the latest released version of GNU Fortran compiler. The Intel compiler should not be used if Molpro will be used to run PNO-LCCSD calculations.+  - A modern version of GNU Fortran compiler. Molpro has Fortran code spanning Fortran 77 standard up to and including F2018 standard features. We aim to test Molpro regularly using the latest released version of GNU Fortran compiler.
   - A C++17 standard C++ compiler. We aim to test Molpro regularly with the latest released version of GCC.   - A C++17 standard C++ compiler. We aim to test Molpro regularly with the latest released version of GCC.
 +  - A C99 standard C compiler. This is used to compile external libraries such as [[https://gitlab.com/libxc/libxc | libxc]] and [[https://github.com/KarypisLab/METIS | METIS]].
   - A Python interpreter.   - A Python interpreter.
   - GNU Make.   - GNU Make.
 +  - CMake, version 3.14 or newer. This is used to build external libraries such as [[https://gitlab.com/libxc/libxc | libxc]].
   - Libxml2 library and header files.   - Libxml2 library and header files.
   - Eigen template library, version 3.3 or newer.   - Eigen template library, version 3.3 or newer.
Line 109: Line 98:
   - A large scratch file system containing a directory that users may write on.   - A large scratch file system containing a directory that users may write on.
   - An MPI wrapped C++ compiler, eg. ''mpicxx''. On HPC systems there is normally a vendor supplied library, otherwise one can install easily Open MPI which is known to work well with Molpro. We also recommend building Molpro with the Global Arrays toolkit. See [[GA installation]] for more details.   - An MPI wrapped C++ compiler, eg. ''mpicxx''. On HPC systems there is normally a vendor supplied library, otherwise one can install easily Open MPI which is known to work well with Molpro. We also recommend building Molpro with the Global Arrays toolkit. See [[GA installation]] for more details.
-  - The source code of Molpro, which should be cloned via ''git'' as per the instructions in the download section of the website.+  - The source code of Molpro
 + 
 +There are example Dockerfiles for {{:Dockerfile.fc36.txt|fedora}}{{:Dockerfile.lp154.txt|suse}} and {{:Dockerfile.ubuntu22.04.txt|ubuntu}}. For Mac with Apple Silicon one could use: 
 +<code> 
 +# build Molpro on MacOS, ARM architecture 
 +# MacOS 12.6 Monterey 
 +# prerequisite 1: command line developer tools, start with xcode-select --install 
 +#                 Note: Xcode 14.0 is incompatible with gcc, and cannot be used. See https://stackoverflow.com/questions/73714336/xcode-update-to-version-2395-ld-compile-problem-occurs-computedatomcount-m/73765819#73765819 
 +# prerequisite 2: install homebrew, starting from https://brew.sh 
 +brew unlink open-mpi 
 +brew install doxygen eigen gcc lapack libxml2 python3 mpich cmake coreutils wget 
 +brew link mpich 
 +export CC=gcc-12 CXX=g++-12 
 +export MPICXX=mpicxx MPICC=mpicc MPICH_CC=${CC} MPICH_CXX=${CXX} 
 +wget -O - https://github.com/GlobalArrays/ga/releases/download/v5.8.1/ga-5.8.1.tar.gz | tar xzf - && cd ga-5.8.1 && ./configure --with-blas=no --with-lapack=no --with-scalapack=no --disable-f77 --with-mpi-pr && make -j10 && sudo make install && cd .. && rm -rf ga-5.8.1 
 +git clone git@github.com:molpro/molpro 
 +cd molpro 
 +./configure && make -j20 && version=$(grep PACKAGE_VERSION build/molpro_config.h|sed -e 's/^.*PACKAGE_VERSION *"//-e 's/" *$//') && sudo make install && sudo ln -sf /usr/local/molpro/molpro_${version}/bin/molpro /usr/local/bin/molpro 
 +</code> 
 +and for Mac with Intel: 
 +<code> 
 +# build Molpro on MacOS, Intel architecture 
 +# MacOS 12.6 Monterey 
 +# prerequisite 1: command line developer tools, start with xcode-select --install 
 +#                 Note: Xcode 14.0 is incompatible with gcc, and cannot be used. See https://stackoverflow.com/questions/73714336/xcode-update-to-version-2395-ld-compile-problem-occurs-computedatomcount-m/73765819#73765819 
 +# prerequisite 2: install homebrew, starting from https://brew.sh 
 +# prerequisite 3: Intel MKL from https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl-download.html?operatingsystem=mac&distributions=webdownload&options=online 
 + 
 +brew install eigen gcc libxml2 python3 openmpi cmake coreutils 
 +git clone https://github.com/GlobalArrays/ga ga_mpipr && cd ga_mpipr && git checkout v5.8.1 && ./autogen.sh && ./configure --with-blas=no --with-lapack=no --with-scalapack=no --disable-f77 --with-mpi-pr && make -j10 && sudo make install && cd .. && rm -rf ga_mpipr 
 +git clone git@github.com:molpro/molpro 
 +export OMPI_CXX=g++-12 OMPI_CC=gcc-12 
 +cd molpro 
 +./configure && make -j10 && sudo make install && sudo ln -s /usr/local/molpro/molpro_*/bin/molpro /usr/local/bin/molpro 
 +</code> 
 + 
 +Molpro can also be built using compilers and libraries from  
 +[[https://conda-forge.org|conda-forge]]. Here is how to construct a conda 
 +environment with Molpro: 
 +<code> 
 +# build Molpro using conda toolchain 
 +build_environment=molpro-build 
 +deploy_environment=molpro-build # change this to an existing environment in which you want molpro, if you like
  
 +conda create -y -n ${build_environment} cxx-compiler c-compiler fortran-compiler libxml2 mpich mkl-devel eigen cmake git curl wget make
 +conda activate ${deploy_environment} && deploy_prefix=${CONDA_PREFIX} || exit 1
 +conda activate ${build_environment}
 +wget -O - https://github.com/GlobalArrays/ga/releases/download/v5.8.1/ga-5.8.1.tar.gz | tar xzf - 
 +cd ga-5.8.1 && ./configure --prefix=${CONDA_PREFIX} --with-blas=no --with-lapack=no --with-scalapack=no --disable-f77 --with-mpi-pr && make -j10 && make install && cd .. && rm -rf ga-5.8.1
 +git clone git@github.com:molpro/molpro
 +cd molpro
 +./configure --prefix=${deploy_prefix} CXX=mpicxx && make -j20 && version=$(grep PACKAGE_VERSION build/molpro_config.h|sed -e 's/^.*PACKAGE_VERSION *"//' -e 's/" *$//') && make install && ln -sf ${CONDA_PREFIX}/molpro_${version}/bin/molpro ${CONDA_PREFIX}/bin/molpro
 +</code>
 ==== Configuration ==== ==== Configuration ====
  
-After cloning the source code, change to the ''Molpro_release'' directory that has been created. Having changed to the ''Molpro_release'' directory, you should ensure that you have checked out a tagged version of Molpro. You can do this by running ''%%git log%%'' to see if the top commit has ''%%tag:<TAGNAME>%%'' in parenthesis, if not find the first tagged commit and check it out.+After untarring the source code, change to the directory that has been created.
  
 Next check that the tools you require, such as the Fortran compiler, are in your PATH. Then run the command Next check that the tools you require, such as the Fortran compiler, are in your PATH. Then run the command