Could not compile with -DENABLE_PCMSolver=ON

I used the following command to cmake:
cmake -H. -B/home/zty/Source/psi4-obj
-DCMAKE_INSTALL_PREFIX=/home/zty/Source/psi4-install
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=g++
-DCMAKE_Fortran_COMPILER=gfortran
-DENABLE_dkh=ON
-DENABLE_PCMSolver=ON
-DPSI4_CXX_STANDARD=11
-DMAX_AM_ERI=7
-DCMAKE_BUILD_TYPE=Release /home/zty/Source/psi4

when I make, I got the error message as shown in the end. It compiles totally fine with out PCMSolver.
It seems that PCMSolver is successfully built but cannot be found by the psi4 building task.
Does anyone have the same problem and how do you get PCMSolver compiled and work?
Thanks!

Error message:
zty@DESKTOP-Q9UQML1:~/Source/psi4-obj$ make
[ 16%] Built target pybind11_external
[ 33%] Built target dkh_external
[ 50%] Built target libefp_external
[ 66%] Built target libint_external
[ 83%] Built target pcmsolver_external
[ 85%] Performing configure step for ‘psi4-core’
loading initial cache file /home/zty/Source/psi4-obj/psi4-core-prefix/tmp/psi4-core-cache-Release.cmake
– Using pybind11: /home/zty/Source/psi4-obj/stage/home/zty/Source/psi4-install/include (version 2.0.0 for Py2.7.12 and -std=c++11)
– Using Python 2.7: /home/zty/psi4conda/bin/python
– Disabled CheMPS2
– Using dkh: /home/zty/Source/psi4-obj/stage/home/zty/Source/psi4-install/lib/libdkh.a (version 1.2)
– Using libefp: /home/zty/Source/psi4-obj/stage/home/zty/Source/psi4-install/lib/libefp.a (version 1.3.0)
– Disabled erd
– Disabled gdma
– Using libint: /home/zty/Source/psi4-obj/stage/home/zty/Source/psi4-install/lib/libint.a (version 1.1.6)
CMake Error at /home/zty/software/cmake-3.6.1-Linux-x86_64/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
Could NOT find PCMSolver (missing: PCMSolver_LIBRARY PCMSolver_INCLUDE_DIR)
Call Stack (most recent call first):
/home/zty/software/cmake-3.6.1-Linux-x86_64/share/cmake-3.6/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
/home/zty/Source/psi4/cmake/FindPCMSolver.cmake:81 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:77 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/zty/Source/psi4-obj/psi4-core-prefix/src/psi4-core-build/CMakeFiles/CMakeOutput.log”.
make[2]: *** [psi4-core-prefix/src/psi4-core-stamp/psi4-core-configure] Error 1
make[1]: *** [CMakeFiles/psi4-core.dir/all] Error 2

Yes, PCMSolver hasn’t been transitioned to the new CMake system. You’re doing nothing wrong. @robertodr, should we confer on this? @tyzhang1993, were you just reporting this or do you really want PCMSolver?

Thank you for your explanation! @loriab
The situation is actually this: One of our user is trying to use psi4 to compute system involving heavy atoms in solvent. However, the conda psi4 cannot support electron integral with large angular momentum, which we specify by setting -DMAX_AM_ERI to a large value when compiling.
That’s why I am thinking of compiling manually for him, but unfortunately it cannot compile with PCMSolver.
There are two possible solutions to fit his need.

  1. Make MAX_AM_ERI an option during conda psi4 (which includes PCMSolver) installation.
  2. Have PCMSolver working with the new CMake system.
    It would be very helpful to our users computing heavy atoms if MAX_AM_ERI can be set during conda psi4 installation.

Thanks for explaining the situation.

So in psi4 1.0 days, we had to rebuild the integrals every time we built Psi4, so I compiled to MAX_AM_ERI=6. With the new psi4 1.1, integrals are external and so can be compiled once, then nightly builds of Psi4 reuse the same integrals. So the default is now MAX_AM_ERI=7 (and I might do 8 once I’m satisfied that that’s a final compile). Only problem for you is that any binaries that contain 7 also don’t contain PCMSolver. (Also note that you’re going to run out of basis sets very soon at these AMs.)

I’m working on Math Lib detection just now, but you’re not the only one who’s been wanting PCMSolver back lately, so it’s up next. Actually, it is possible to build Psi4 with PCMSolver just now, but you have to do some path adjustment yourself. If you like, I can guide you through that. But for an easy sol’n, it’ll be a week or two.

Thank you @loriab!
Good to know it’s coming back soon.
I think waiting for it is a much better solution for most of psi4 users than to post a temporary detour.