Interface to LibECPInt by R. Shaw

Code author: Andrew C. Simmonett

Section author: Lori A. Burns



  • LibECPInt is available as a conda package for Linux and macOS.

  • If using the PSI4 binary, LibECPInt has already been installed alongside.

  • If using PSI4 built from source, and anaconda or miniconda has already been installed (instructions at Quick Installation), LibECPInt can be obtained through conda install libecpint. Then enable it as a feature with ENABLE_ecpint, hint its location with CMAKE_PREFIX_PATH, and rebuild PSI4 to detect LibECPInt and activate dependent code.

  • To remove a conda installation, conda remove libecpint.


  • If using PSI4 built from source and you want LibECPInt built from from source also, enable it as a feature with ENABLE_ecpint, and let the build system fetch and build it and activate dependent code.

How to configure LibECPInt for building Psi4

Role and Dependencies

  • Role — In PSI4, LibECPInt is a library that provides additional quantum chemical capabilities (ECP integrals).

  • Downstream Dependencies — PSI4 (\(\Leftarrow\) optional) LibECPInt

  • Upstream Dependencies — LibECPInt \(\Leftarrow\) None

CMake Variables

  • ENABLE_ecpint — CMake variable toggling whether Psi4 builds with LibECPInt

  • CMAKE_PREFIX_PATH — CMake list variable to specify where pre-built dependencies can be found. For LibECPInt, set to an installation directory containing include/libecpint.hpp

  • ecpint_DIR — CMake variable to specify where pre-built LibECPInt can be found. Set to installation directory containing lib/cmake/ecpint/ecpint-config.cmake

  • CMAKE_DISABLE_FIND_PACKAGE_ecpint — CMake variable to force internal build of ecpint instead of detecting pre-built

  • CMAKE_INSIST_FIND_PACKAGE_ecpint — CMake variable to force detecting pre-built LibECPInt and not falling back on internal build


  1. Build bundled

>>> cmake -DENABLE_ecpint=ON
  1. Build without LibECPInt

>>> cmake
  1. Link against pre-built

>>> cmake -DENABLE_ecpint=ON -DCMAKE_PREFIX_PATH=/path/to/ecpint/root
>>> cmake -DENABLE_ecpint=ON -Decpint_DIR=/path/to/ecpint/configdir
  1. Build bundled despite pre-built being detectable

>>> cmake -DENABLE_ecpint=ON -DCMAKE_PREFIX_PATH=/path/to/unwanted/ecpint/root/and/wanted/other/dependencies/root -DCMAKE_DISABLE_FIND_PACKAGE_ecpint=ON