Hi, I’m doing a fresh build of Psi4 from a new git clone (from today). The program seems to build ok all the way to the end before it fails with (using gcc 6.2, python 2.6.6):
– Build files have been written to: /home/kipeters/psi4-new/objdirb/psi4_core-prefix/src/psi4_core-build
[ 95%] Performing build step for ‘psi4_core’
Scanning dependencies of target consolidate_psidatadir
[ 0%] Symlink external resources into PSIDATADIR
[ 0%] Built target consolidate_psidatadir
Scanning dependencies of target update_version
[ 0%] Generating version info
Traceback (most recent call last):
File “versioner.py”, line 327, in
ans = reconcile_and_compute_version_output(quiet=args.formatonly)
File “versioner.py”, line 220, in reconcile_and_compute_version_output
trial_version_long_devel))
ValueError: zero length field name in format
make[5]: *** [CMakeFiles/update_version] Error 1
make[4]: *** [CMakeFiles/update_version.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [psi4_core-prefix/src/psi4_core-stamp/psi4_core-build] Error 2
make[1]: *** [CMakeFiles/psi4_core.dir/all] Error 2
@Kirk someone might be able to correct me if I am wrong, but I believe we require python 2.7. It is concerning that using python 2.6.6 this was not caught by cmake at the start of the build.
Is there a easy way to get psi4-core to link with the static library version of python? My build crashes with:
[ 99%] Linking CXX shared library core.so
/share/apps/bin/ld: /share/apps/lib/libpython2.7.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct’ can not be used when making a shared object; recompile with -fPIC
/share/apps/lib/libpython2.7.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
make[5]: *** [src/core.so] Error 1
make[4]: *** [src/CMakeFiles/core.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [psi4_core-prefix/src/psi4_core-stamp/psi4_core-build] Error 2
make[1]: *** [CMakeFiles/psi4_core.dir/all] Error 2
If the libpython linking keeps giving you trouble, psi4 doesn’t actually need to be linked to the python library anymore. It needs python headers to compile against and the interpreter to run but not library dependency. This hasn’t percolated into the main branch yet, but I can help on this if you need it.
While I get everything to build and compile seemingly without error, I immediately get a segmentation fault when psi4 is invoked. Calling python with the -v option seems to show all the initialization working correctly. Psi4 was built with gcc 6.2, so I’m thinking of building 4.9.4 to see if that has any effect.
Hmm, one of our travis-ci continuous integration builds is a 6.2 and others are 4.9, so the 6.2 should be ok. I’m not quite sure what’s going on. Maybe if you send me your ldd -v objdir/stage/.../lib/psi4/core.so, I can see if anything looks suspicious.
Progress - I now get some output but now it crashes with:
Intel MKL FATAL ERROR: Cannot load libmkl_avx.so or libmkl_def.so
LD_LIBRARY_PATH is correct, but this seems like a python configuration problem (at least that’s what Google seems to imply). Is there something I can add to the psi4 python script?