Closed jevandezande closed 1 year ago
Thanks for letting me know, I will fix it
I deleted the offending lines in src/dynamics/dynamics_module.f90
and src/dynamics/metadynamics_module.f90
. My knowledge of Fortran is minimal, but I presume that the compiler wasn't happy with redefining variables.
Compilation then continued until I got the following error:
/home/vandezan/progs/crest/src/algos/crossing.f90:122:53:
122 | call crossing(nat,nall,at,xyz,eread,ewin,rthr,cthr,maxgen)
| 1
Error: Dummy argument ‘maxgen’ with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
I presume this has to due with mutability of the argument. I switched the calling function to intent(inout)
(line 36).
Compilation then continued until I got the following error:
/home/vandezan/progs/crest/src/legacy_wrappers.f90:106:34:
106 | call crest_xtbsp(env,-1,mol)
| 1
Error: More actual than formal arguments in procedure call at (1)
Seeing that calls elsewhere (and what I presume to be the definition) have a variable number of arguments, the problem is unclear to me, but I tried just deleting the last argument (consistent with line 91).
Compilation then continued until I got the following error:
/home/vandezan/progs/crest/src/ztopology.f90:971:20:
971 | if (all(ringtracker(:,k) .eq. tmpmem(:))) then
| 1
Error: Logicals at (1) must be compared with .eqv. instead of .eq.
Which was an easy enough fix, and compilation finally succeeded.
I then attempted running crest on benzene, and received the following error:
Fortran runtime error: EXECUTE_COMMAND_LINE: Invalid command line
Error termination. Backtrace:
#0 0x7effe6d8ead0 in ???
#1 0x7effe6d8f649 in ???
#2 0x7effe6d8faf9 in ???
#3 0x7effe7000cdc in ???
#4 0x7effe7000f69 in ???
#5 0x7effe700102f in ???
#6 0x55dbfdd954a6 in xtbopt_
at /home/vandezan/progs/crest/src/legacy_algos/confscript2_misc.f90:191
#7 0x55dbfded7ddc in crest
at /home/vandezan/progs/crest/src/crest_main.f90:241
#8 0x55dbfdba7f8e in main
at /home/vandezan/progs/crest/src/crest_main.f90:26
Presumably one of my edits is incorrect, but I'm unsure of which one.
Just removing lines is typically a bad idea...
I updated the 3.0dev
branch and the default builds should now work.
However, there are a couple of things to consider. This is a challenging build as it tries to integrate new external libraries such as https://github.com/tblite/tblite, which at the moment can cause some issues. For now I've turned off this part by default, but it shouldn't affect much of the implementations. Also, by default I'm building the binary with a meson/ifort build, which will produce a statically linked executable. You will usually be on the safer side if you use the same, however, there are some issues with the newer ifort versions I haven't come to fixing yet. ifort2021 or ifort2022 should work fine, you can basically follow the commands in .github/workflows/build.yml. The CMake/gfortran build you are attempting is not well tested, but I'm able to build it and run the program. This build produces a dynamically linked binary. Overall there is quite a bit of development going on, so new issues are sure to arise. Feel free to write if further help is required. I'll also gladly share the compiled binary, should the build get stuck.
Well if I delete enough lines of code, it will eventually compile...I just might not have anything left.
Compiling the updated version with gcc/gfortran was successful, but still led to Invalid command line
errors. I'm currently obtaining the Intel compilers, but the problems mentioned above have been solved. Thanks.
When attempting to compile the
3.0dev
branch, I receive an error about symbol conflicts (compilation ofmaster
succeeds).Compilation details: cmake FC=gfortran CC=gcc