Psi4 compilation from source with libint2 and ecpint

Hi developers,
I am building psi4 from the source (git head) with ecpint option enabled. The CMake tries to build libint2 internally. However, the compilation stops with the following error

psi4/src/core.cc(1064): error: namespace "libint2" has no member "SHGShellOrdering_Gaussian"
      libint2::set_solid_harmonics_ordering(libint2::SHGShellOrdering_Gaussian);

I am using intel oneAPI python and C, CXX compilers. The following command was used to compile:

cmake -S. -Cpsi4DepsCache.cmake    -Cpsi4DepsMKLCache.cmake    -Cpsi4DepsIntelCache.cmake    -Bobjdir

The contents of each cmake file is as follows:

set(LAPACK_LIBRARIES       "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/lib/libmkl_rt.so" CACHE STRING "")
set(LAPACK_INCLUDE_DIRS    "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/include" CACHE STRING "")
set(OpenMP_LIBRARY_DIRS    "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/lib" CACHE STRING "")
set(CMAKE_C_COMPILER       "icc" CACHE STRING "")
set(CMAKE_CXX_COMPILER     "icpc" CACHE STRING "")
set(CMAKE_Fortran_COMPILER "ifort" CACHE STRING "")
set(CMAKE_DISABLE_FIND_PACKAGE_ecpint ON CACHE BOOL "")
set(CMAKE_C_FLAGS "-diag-disable=10441" CACHE STRING "")
set(CMAKE_CXX_FLAGS "-diag-disable=10441" CACHE STRING "")
set(CMAKE_INSTALL_PREFIX "/projects/0/nwo20035/ravindra/psi4/install" CACHE STRING "")
set(CMAKE_PREFIX_PATH "/sw/arch/RHEL8/EB_production/2022/software/Libint/2.7.2-GCC-11.3.0-lmax-6-cp2k/lib" CACHE STRING "")
set(Python_EXECUTABLE      "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/bin/python" CACHE STRING "")

set(pybind11_DIR            "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/share/cmake/pybind11" CACHE PATH "")
set(ENABLE_ambit           ON CACHE BOOL "")
set(ambit_DIR              "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/share/cmake/ambit" CACHE PATH "")
set(ENABLE_ecpint          ON CACHE BOOL "")
set(ecpint_DIR             "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/lib/cmake/ecpint" CACHE PATH "")
set(gau2grid_DIR           "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/share/cmake/gau2grid" CACHE PATH "")
set(Libxc_DIR              "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/share/cmake/Libxc" CACHE PATH "")
set(SPHINX_ROOT            "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev" CACHE PATH "")
set(CMAKE_PROGRAM_PATH     "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev" CACHE PATH "")
set(Eigen3_DIR             "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev/share/eigen3/cmake/" CACHE PATH "")
set(MPFR_ROOT              "/projects/0/nwo20035/ravindra/oneapi/intelpython/latest/envs/p4dev" CACHE PATH "")

Thank you in advance!

Ravindra.

Thanks for the detailed post. That symbol you found to be missing is fairly new (and vital to Psi4 using Libint2 right). It will be found in:

From this snippet EB_production/2022/software/Libint/2.7.2-GCC-11.3.0-lmax-6-cp2k/lib and your reported problem, I suspect some other L2 is getting picked up. There’s no reason cp2k & psi4 can’t use the same L2, provided it’s after the introduction of SHGShellOrdering. lmk if further clarification needed.