Closed krzys-r closed 2 months ago
Hi,
The tblite people have renamed some of their subroutines and updated input/output arguments on a few others, which means there is a mismatch between some tblite and CREST builds.
The best advice is to clear up whatever build you were trying to do, clone the most recent source code (i.e. as of #331 at the time of writing, which should internally be already flagged as 3.0.2), do the git submodule update
, and then try to build again.
Hi Philipp and thanks for help but it's still not working.
I'm quite sure that I do it not correctly, as I'm not really familiar with git. What I did is:
git clone https://github.com/crest-lab/crest.git
cd crest
git submodule update
cmake -DLAPACK_LIBRARIES="/Services/lapack/liblapack.a" -DBLAS_LIBRARIES="/Services/OpenBLAS/lib/libopenblas.a" -B _build
make -C _build
and now I have a lot of new errors all in crest/src/calculator/tblite_api
:(
Did the git submodule update
actually do something? you may need to use git submodule update --init
instead, which should populate different git projects in the subprojects/
directory. Otherwise CMake may look for a tblite installation on your system that is incompatible, which would be my guess why you are still seeing the errors.
The CMake build with the submodules should work this way, otherwise the automatic workflows build wouldn't be passing:
Thank you for the static build. I'm using it at the moment.
Back to compilation questions...
git submodule update --init
did helped. All modules were compiled, however the linking was unsuccessful ( Linking Fortran shared library libcrest.so
-- can not be used when making a shared object; recompile with -fPIC
). So I changed in CMakeCache.txt
the variable WITH_OBJECT
to false, and then it went smoothly.
I want to optimize BLAS and Crest for different CPUs we have in our small cluster.
Once again: thanks for your help, Kris
I'm trying to compile crest 3.0.1 on RHEL9 (gcc and gfortran 11.4.1). I've compiled OpenBLAS 0.3.28 and cmake-step has worked. However compilation stops here:
| 1
Error: Symbol ‘ceh_guess’ referenced at (1) not found in module ‘tblite_ceh_singlepoint’
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:140:51:
140 | call new_gfn1_calculator(tblite%calc,mctcmol)
| 1
Error: Missing actual argument for argument ‘error’ at (1)
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:143:51:
143 | call new_gfn2_calculator(tblite%calc,mctcmol)
| 1
Error: Missing actual argument for argument ‘error’ at (1)
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:146:52:
146 | call new_ipea1_calculator(tblite%calc,mctcmol)
| 1
Error: Missing actual argument for argument ‘error’ at (1)
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:149:50:
149 | call new_ceh_calculator(tblite%calc,mctcmol)
| 1
Error: Missing actual argument for argument ‘error’ at (1)
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:152:93:
152 | call new_ceh_calculator(tblite%calc,mctcmol) !> doesn't matter but needs initialization
| 1
Error: Missing actual argument for argument ‘error’ at (1)
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:164:53:
164 | call new_gfn2_calculator(tblite%calc,mctcmol)
| 1
Error: Missing actual argument for argument ‘error’ at (1)
make[2]: [CMakeFiles/crest-object.dir/build.make:465: CMakeFiles/crest-object.dir/src/calculator/tblite_api.F90.o] Error 1
make[2]: Leaving directory '/mnt/homes/Sources/crest/crest-3.0.1/_build'
make[1]: [CMakeFiles/Makefile2:2207: CMakeFiles/crest-object.dir/all] Error 2
make[1]: Leaving directory '/mnt/homes/Sources/crest/crest-3.0.1/_build'
make: *** [Makefile:146: all] Error 2`
[ 58%] Building Fortran object CMakeFiles/crest-object.dir/src/calculator/tblite_api.F90.o
/mnt/homes/Sources/crest/crest-3.0.1/src/calculator/tblite_api.F90:39:34:
`
39 | use tblite_ceh_singlepoint,only:ceh_guessHelp would be very appreciated, Kris