Installing Psi4 on MacBook Air Apple M1 Ventura 13.1 Problem?

Hello all I am trying to download Psi4 on my MacBook Air M1 Ventura 13.1 and was unsuccessful via Conda and via Source. Conda exhibited many problems and Source is exhibiting the error:
CMake Error: The source directory “/Users/joelsubach” does not appear to contain CMakeLists.txt.

Is this issue solvable or is Psi4 just not compatible with my Mac considering the Conda nonfunctioning download as well?


It is possible to compile Psi from source on the Apple M1 systems (which I use regularly). However, the error message you’re getting suggests that you’re not actually in the source directory where you downloaded the code, but your home directory. Can you please explicitly list the set of commands you’ve executed leading up to this error message?

Hello crawdad thank you for your kind update:).

1.) I copy and pasted MACOS; SOURCE; 3.10; NIGHTLY BUILD; and then the code:

git clone GitHub - psi4/psi4: Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python && cd psi4
conda create -n p4dev psi4-dev python=3.10 -c psi4/label/dev
conda activate p4dev
psi4-path-advisor --clang
cd objdir && make -jgetconf _NPROCESSORS_ONLN

(See attached screenshot exhibiting these, and also from the attached screenshot please let me know if you would instead recommend a different conduit for user-friendliness, for example, MACOS; CONDA; 3.9; PREV RELEASE v1.16.1?)

From executing the above Run This Command Code, I received the below total output:

Last login: Sun May 14 16:51:47 on ttys000
(base) joelsubach@Joels-MacBook-Air ~ % git clone GitHub - psi4/psi4: Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python && cd psi4
conda create -n p4dev psi4-dev python=3.10 -c psi4/label/dev
conda activate p4dev
psi4-path-advisor --clang
cd objdir && make -jgetconf _NPROCESSORS_ONLN
fatal: destination path ‘psi4’ already exists and is not an empty directory.
Retrieving notices: …working… done
WARNING: A conda environment already exists at ‘/Users/joelsubach/opt/anaconda3/envs/p4dev’
Remove existing environment (y/[n])? yy
Invalid choice: yy
WARNING: A conda environment already exists at ‘/Users/joelsubach/opt/anaconda3/envs/p4dev’
Remove existing environment (y/[n])? y

Collecting package metadata (current_repodata.json): done
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: done

Package Plan

environment location: /Users/joelsubach/opt/anaconda3/envs/p4dev

added / updated specs:
- psi4-dev
- python=3.10

The following NEW packages will be INSTALLED:

ambit psi4/label/dev/osx-64::ambit-0.6-py310h23e7102_2
attrs pkgs/main/osx-64::attrs-22.1.0-py310hecd8cb5_0
blas pkgs/main/osx-64::blas-1.0-mkl
bzip2 pkgs/main/osx-64::bzip2-1.0.8-h1de35cc_0
c-ares pkgs/main/osx-64::c-ares-1.19.0-h6c40b1e_0
ca-certificates pkgs/main/osx-64::ca-certificates-2023.01.10-hecd8cb5_0
cctools pkgs/main/osx-64::cctools-927.0.2-h5ba7a2e_4
chemps2 psi4/label/dev/osx-64::chemps2-1.8.11-h7778601_0
clang pkgs/main/osx-64::clang-10.0.0-default_hf57f61e_0
clang_osx-64 pkgs/main/osx-64::clang_osx-64-10.0.0-h05bbb7f_0
clangxx pkgs/main/osx-64::clangxx-10.0.0-default_hf57f61e_0
clangxx_osx-64 pkgs/main/osx-64::clangxx_osx-64-10.0.0-h05bbb7f_1
cmake pkgs/main/osx-64::cmake-3.22.1-hbfa4a85_0
compiler-rt pkgs/main/osx-64::compiler-rt-10.0.0-h47ead80_0
compiler-rt_osx-64 pkgs/main/noarch::compiler-rt_osx-64-10.0.0-hbcc88fd_0
dkh psi4/label/dev/osx-64::dkh-1.2-h97561c3_4
eigen pkgs/main/osx-64::eigen-3.3.7-haf03e11_1
execnet pkgs/main/noarch::execnet-1.9.0-pyhd3eb1b0_0
expat pkgs/main/osx-64::expat-2.4.9-he9d5cce_0
gau2grid psi4/label/dev/osx-64::gau2grid-2.0.7-haf1e3a3_0
gdma psi4/label/dev/osx-64::gdma-2.2.6-h97561c3_6
gfortran_osx-64 pkgs/main/osx-64::gfortran_osx-64-4.8.5-h22b1bf0_8
hdf5 pkgs/main/osx-64::hdf5-1.10.6-hdbbcd12_0
importlib-metadata pkgs/main/osx-64::importlib-metadata-6.0.0-py310hecd8cb5_0
importlib_metadata pkgs/main/noarch::importlib_metadata-6.0.0-hd3eb1b0_0
importlib_resourc~ pkgs/main/noarch::importlib_resources-5.2.0-pyhd3eb1b0_1
iniconfig pkgs/main/noarch::iniconfig-1.1.1-pyhd3eb1b0_0
intel-openmp pkgs/main/osx-64::intel-openmp-2021.4.0-hecd8cb5_3538
krb5 pkgs/main/osx-64::krb5-1.19.4-hdba6334_0
ld64 pkgs/main/osx-64::ld64-450.3-h3c32e8a_4
libcurl pkgs/main/osx-64::libcurl-7.88.1-ha585b31_0
libcxx pkgs/main/osx-64::libcxx-14.0.6-h9765a3e_0
libecpint psi4/label/dev/osx-64::libecpint-1.0.7-hb1e8313_0
libedit pkgs/main/osx-64::libedit-3.1.20221030-h6c40b1e_0
libev pkgs/main/osx-64::libev-4.33-h9ed2024_1
libffi pkgs/main/osx-64::libffi-3.4.4-hecd8cb5_0
libgfortran pkgs/main/osx-64::libgfortran-3.0.1-h93005f0_2
libint2 psi4/label/dev/osx-64::libint2-2.6.0-h879752b_7
libllvm10 pkgs/main/osx-64::libllvm10-10.0.1-h76017ad_5
libnghttp2 pkgs/main/osx-64::libnghttp2-1.46.0-ha29bfda_0
libssh2 pkgs/main/osx-64::libssh2-1.10.0-h0a4fc7d_0
libuv pkgs/main/osx-64::libuv-1.44.2-h6c40b1e_0
libxc psi4/label/dev/osx-64::libxc-5.1.5-haf1e3a3_0
llvm-openmp pkgs/main/osx-64::llvm-openmp-10.0.0-h28b9765_0
lz4-c pkgs/main/osx-64::lz4-c-1.9.4-hcec6c5f_0
mkl pkgs/main/osx-64::mkl-2021.4.0-hecd8cb5_637
mkl-devel pkgs/main/osx-64::mkl-devel-2021.4.0-h96f910b_637
mkl-include pkgs/main/osx-64::mkl-include-2021.4.0-hecd8cb5_637
mkl-service pkgs/main/osx-64::mkl-service-2.4.0-py310hca72f7f_0
mkl_fft pkgs/main/osx-64::mkl_fft-1.3.1-py310hf879493_0
mkl_random pkgs/main/osx-64::mkl_random-1.2.2-py310hc081a56_0
msgpack-python pkgs/main/osx-64::msgpack-python-1.0.3-py310haf03e11_0
ncurses pkgs/main/osx-64::ncurses-6.4-hcec6c5f_0
networkx pkgs/main/osx-64::networkx-2.8.4-py310hecd8cb5_1
numpy pkgs/main/osx-64::numpy-1.22.3-py310hdcd3fac_0
numpy-base pkgs/main/osx-64::numpy-base-1.22.3-py310hfd2de13_0
openssl pkgs/main/osx-64::openssl-1.1.1t-hca72f7f_0
packaging pkgs/main/osx-64::packaging-23.0-py310hecd8cb5_0
pcmsolver psi4/label/dev/osx-64::pcmsolver-
pint psi4/label/dev/noarch::pint-0.17-pyhd8ed1ab_0
pip pkgs/main/osx-64::pip-23.0.1-py310hecd8cb5_0
pluggy pkgs/main/osx-64::pluggy-1.0.0-py310hecd8cb5_1
psi4-dev psi4/label/dev/osx-64::psi4-dev-1.7.dev1-py310hc17f65c_0
psutil pkgs/main/osx-64::psutil-5.9.0-py310hca72f7f_0
py pkgs/main/noarch::py-1.11.0-pyhd3eb1b0_0
py-cpuinfo pkgs/main/noarch::py-cpuinfo-8.0.0-pyhd3eb1b0_1
pybind11-headers psi4/label/dev/osx-64::pybind11-headers-2.9.1-h879752b_0
pydantic pkgs/main/osx-64::pydantic-1.10.2-py310hca72f7f_0
pytest pkgs/main/osx-64::pytest-7.1.2-py310hecd8cb5_0
pytest-forked pkgs/main/noarch::pytest-forked-1.3.0-pyhd3eb1b0_0
pytest-xdist pkgs/main/noarch::pytest-xdist-2.5.0-pyhd3eb1b0_0
python pkgs/main/osx-64::python-3.10.11-h218abb5_2
pyyaml pkgs/main/osx-64::pyyaml-6.0-py310h6c40b1e_1
qcelemental psi4/label/dev/noarch::qcelemental-0.25.1-pyhd8ed1ab_1
qcengine psi4/label/dev/noarch::qcengine-0.26.0-pyhd8ed1ab_0
readline pkgs/main/osx-64::readline-8.2-hca72f7f_0
rhash pkgs/main/osx-64::rhash-1.4.1-hbcfaee0_1
scipy pkgs/main/osx-64::scipy-1.7.3-py310h3dd3380_0
setuptools pkgs/main/osx-64::setuptools-66.0.0-py310hecd8cb5_0
simint psi4/label/dev/osx-64::simint-0.7-h9ec563c_2
six pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1
sqlite pkgs/main/osx-64::sqlite-3.41.2-h6c40b1e_0
tapi pkgs/main/osx-64::tapi-1000.10.8-ha1b3eb9_0
tk pkgs/main/osx-64::tk-8.6.12-h5d9f67b_0
tomli pkgs/main/osx-64::tomli-2.0.1-py310hecd8cb5_0
typing-extensions pkgs/main/osx-64::typing-extensions-4.5.0-py310hecd8cb5_0
typing_extensions pkgs/main/osx-64::typing_extensions-4.5.0-py310hecd8cb5_0
tzdata pkgs/main/noarch::tzdata-2023c-h04d1e81_0
wheel pkgs/main/osx-64::wheel-0.38.4-py310hecd8cb5_0
xz pkgs/main/osx-64::xz-5.4.2-h6c40b1e_0
yaml pkgs/main/osx-64::yaml-0.2.5-haf1e3a3_0
zipp pkgs/main/osx-64::zipp-3.11.0-py310hecd8cb5_0
zlib pkgs/main/osx-64::zlib-1.2.13-h4dc903c_0
zstd pkgs/main/osx-64::zstd-1.5.5-hc035e20_0

Proceed ([y]/n)? y

Downloading and Extracting Packages

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

To activate this environment, use

$ conda activate p4dev

To deactivate an active environment, use

$ conda deactivate

loading initial cache file /Users/joelsubach/opt/anaconda3/envs/p4dev/share/cmake/psi4/psi4DepsCache.cmake
loading initial cache file /Users/joelsubach/opt/anaconda3/envs/p4dev/share/cmake/psi4/psi4DepsMKLCache.cmake
loading initial cache file /Users/joelsubach/opt/anaconda3/envs/p4dev/share/cmake/psi4/psi4DepsClangCache.cmake
CMake Error: The source directory “/Users/joelsubach” does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
cd: no such file or directory: objdir
(p4dev) joelsubach@x86_64-apple-darwin13 ~ %

Note that I removed a couple of existing environments to start-fresh since similarly I had removed environments via FFParam during installation for clarity and facility and that this removal did not seem to be an issue but maybe this is the issue during this command execution to have received the exhibited cmake error?

And according to the exhibited error:
CMake Error: The source directory “/Users/joelsubach” does not appear to contain CMakeLists.txt.

I discovered CMakeLists.txt, as you had indicated, in the directory:
instead of:

Accordingly maybe I would just need to drag CMakeLists.txt into the, above, psi4DepsClandCache.cmake folder but I am not experienced enough yet to know if this should be performed and if so what would my subsequent commands be?

(If you could assist my 3.questions further it would be greatly appreciated, thanks crawdad:).)

You shouldn’t have to move any files around. It’s hard to tell exactly which commands are generating which messages, but after the clone command, did it actually run cd psi4? It looks like to me like you’re simply not in the source-code directory when you issue the psi4-path-advisor command. Perhaps instead of copying-and-pasting all the commands at once, try running them one at a time to make sure they are doing what you expect. Let me know what you find.

Note: I haven’t used conda for building on my M1 laptop; I configure and compile directly from source. However, I believe that conda builds should be functional at present.

The works-out-of-the-box instructions for mac on psicode/downloads/latest have all been geared toward Intel Macs. Any Apple Silicon specific directions have been only at Apple Silicon / ARM64 notes · Issue #2333 · psi4/psi4 · GitHub .

Very recently, though, we’ve got binary packages going for Apple Silicon. So if your target is a working psi4, rather than building a working psi4, you can now follow the macos silicon - conda - (any py) - stable selection at psicode/downloads/latest .

If you’re decidedly out to build it, I don’t have good dev directions at the moment (for any arch), so the 2333 issue may be your best source.

Hello crawdad thank you for your kind update:).

I executed each line of text at a time:

After the first clone command:
(base) joelsubach@Joels-MacBook-Air ~ % git clone GitHub - psi4/psi4: Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python && cd psi4
fatal: destination path ‘psi4’ already exists and is not an empty directory

So I believe nothing ran to answer your first question since psi4 already existed

I am not sure what you mean by me `not being in the source-code directory when issuing psi4-path-advisor command?´

Please see screenshot exhibiting these same commands but one at a time resulting in the same error:

CMake Error: The source directory “/Users/joelsubach” does not appear to contain CMakeLists.txt.

And again my CMakeLists.txt is present in my Users/joelsubach/psi4 directory

Maybe loriab´s comment about Apple Silicon having different directions is correct because of my errors, or not if you had used this same coding and sequence as I have. Please let me know what you think?

(I elected to select no for remove existing environment since it already exists.)

So, two important questions:

  1. What’s your experience with Unix commands?
  2. Do you actually need the Psi4 source, or just the compiled code?

If you don’t need the source, then I recommend following loriab’s suggestion and follow the macos silicon instructions. That may save you a lot of headaches.

Hi crawdad thank you for your kind update:).

  1. Very little

  2. I need Psi4 to perform QM (Quantum Mechanical) calculations within FFParam to optimize a ligand that I have the coordinates of but exhibit dihedral angles that are non-optimal, FFParam will optimize these.

Below is an excerpt from FFParam exhibiting its code that I executed but received many conflicts, hence why I am trying to download Psi4 directly from this website instead.

  • $ conda install -n ffpenv -c psi4 psi4


psi4 is required for QM calculations, i.e. if you want to run QM jobs on your desktop machine, you may install it

Accordingly from this above I am not sure if I need the Psi4 Source of just the compiled code?

After reading my above latest text please let me know if you would still recommend loirab´s suggestion to help manage my time?

Thanks again:)

It sounds like you don’t need the Psi4 source, so I suggest you follow loriab’s advice.

I’m not familiar with FFParam, but there’s a thread on this forum from 2021 about it that may be helpful:

It looks like you may need to install Psi4 first and then deal with the FFParam side. But, again, I’m not familiar with FFParam, just Psi4.

Hello crawdad thank you for your kind update:) and ok will do and I will update you and loriab of the results for your enrichment (and thank you loriab for your kind update:).)