Gdma and libint2 version compatibility

I have been trying to build a copy of psi4 on a new box running Ubuntu. For some reason CMake is throwing out the following error.

-- Found gdma: path/to/miniconda3/envs/p4dev/lib/libgdma.so (found version 2.2.6)
CMake Warning at external/upstream/libint2/CMakeLists.txt:34 (find_package):
  Could not find a configuration file for package "Libint2" that is
  compatible with requested version "2.7.2".

  The following configuration files were considered but not accepted:

path/to/miniconda3/envs/p4dev/lib/cmake/libint2/libint2-config.cmake, version: 2.7.1

Is this related to #2968, anyway?

I think it’s finding gdma just fine. #2968 is an update to gdma and to the gdma/psi4 interface, but an old gdma will work correctly for compiling from source. Let me know if you hit any problems with it at runtime.

Libint2 is another matter. Right before the v1.8 minting, we did hopefully one of the last of psi4’s libint2 source/configuration updates, so any L2 you had installed from before about 10 May is unsuitable for compiling psi4 master or psi4 1.8 against. I recommend a new conda env. Grab L2 from either conda-forge/label/libint_dev::libint or psi4/label/testing::libint2 (bigger AM; yes, the pkg name itself is different) to get a pre-built L2 that the psi4 cmake configuration will accept.

Some background is here docs & tools for building psi4 (status and survey) · Issue #2965 · psi4/psi4 · GitHub . I’ve responded as an overview – let me know if you need more specific commands. Thanks for posting and working through the problems.

Thanks! For some reason I missed #2965.

I am still facing some issues, but that’s mostly to do with conda (see conda issue#11555). I’ve encountered this issue while I was trying to set up a new conda environment from the .yaml file in psi4/devtools/conda-envs . Apparently, the error report itself isn’t very informative. I have tried to find the real cause for this error and, apparently a few packages seem to have conflicts with the version of compilers that conda is trying to grab from conda-forge.

I will try to provide more details soon, if I am able to resolve this.

I could finally compile 1.9a1.dev9 with intel compilers and MKL. If anyone’s facing similar issues here’s the build recipe that worked for me.

conda create -n p4dev psi4-dev sphinx-psi-theme -c psi4/label/dev
conda activate p4dev
conda update --all -c conda-forge
conda install conda-forge/label/libint_dev::libint=2.7.3dev1
# (optional)
conda install cloud_sptheme sphinx-automodapi sphinx-autodoc-typehints graphviz python-graphviz autodoc-pydantic nbsphinx jupyter_client ipykernel -c conda-forge
# Download psi4 source 
git clone https://github.com/psi4/psi4
cd psi4
# Build the cmake configuration
`psi4-path-advisor --intel` -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx -DCMAKE_Fortran_COMPILER=ifort
cd objdir
make -j$nproc
make install

Note:

  1. This build recipe only seems to work with python=3.10.11. Some of the dependencies from conda-forge seem to run into version conflict issues for later versions of python (I’ve tried to build it with python=3.11, but that seems to fail with conda issue#11555 ).
  2. I am guessing the support for intel compilers soon needs to be ported from icc/icpc to icx/icpx.