Psi4conda Installer Problem on Mac


Following the steps in Psi4conda installer I was able to install psiconda with this problem while running the script:

dyld: lazy symbol binding failed: Symbol not found: dpotrf
Referenced from: /Users/bykov/psi4conda/bin/psi4
Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

Tests in the end of the installation passed, but when I then try to run the test:

psi4 “$(dirname $(which psi4))”/…/share/psi4/samples/sapt1/

I am getting the same error from above:

dyld: Symbol not found: dpotrf
Referenced from: /Users/bykov/miniconda/bin/psi4
Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib

Abort trap: 6

It seems that linking to Lapack doesn’t work properly on my mac (recently updated to sierra). Some googling the problem suggests that some libraries in mac os x sierra have been updated and obviously some lapack function names have been changed resulting in the problem.

So, could someone from the developers update the script? Or maybe there is a way to tell the script to use different Lapack installed on my mac?

I would appreciate any help!


All the best,

Hmm, it should be in libLAPACK.dylib. Can you run:
nm /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib | grep dpotrf

and post the output here.

Grepping through the libLAPACK.dylib gives:

nm /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib | grep dpotrf
00000000000039e6 T _dpotrf
00000000000039e6 T dpotrf
000000000000352b t _dpotrf_Column_Lower
000000000000302d t _dpotrf_Column_Upper

So, obviously the function is in libLAPACK, but in my error message Psi4 expecting “dpotrf” to be in libBLAS and it is not there. I also read on web that mac was changing libraries to avoid duplications. So, maybe this function used to be in both, but not any more.

The psi4conda is 1.0. Would you want to give pre-1.1 a try? Besides the code, main differences are it’s built on computer with newer OS and it’s clang/libc++ based not gcc/libstdc++ based, so only blas/lapack parallelism.

It’s not packaged up with Mini/Anaconda, but once you have one of those installed (directions), just conda create -n p4py35 python=3.5 psi4 numpy dftd3 -c psi4/label/clang -c psi4 (or 2.7 if you’d rather). You want a version with “1.1a2” in it.

The pre-1.1 works out of the box. Everything is fine with the tests. Thanks for the help!

I had a similar problem to bykov reported above. I ran the installation as suggested by lorlab and it finished with a not to

To activate this environment, use:

> source activate p4py35

without running that, my system would respond with “-bash: ps4: command not found” following my typing psi4, even if I set the directory equal to the one with psi4 inside. After executing the “source activate p4py35” command, when I now enter psi4 I get response:

Traceback (most recent call last):
File “/Users/Kevin_old/miniconda3/envs/p4py35/bin/psi4”, line 210, in
File “”, line 20

SyntaxError: invalid syntax

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/Users/Kevin_old/miniconda3/envs/p4py35/bin/psi4”, line 219, in
tb_str += error_msg.message
AttributeError: ‘SyntaxError’ object has no attribute ‘message’

Anyone have a suggestion for how for fix this problem?

Have you tried running one of the files in samples?