CHARMM Development Project
Posted By: rossi Problem Compiling Newest Version of Charmm - 05/27/22 01:16 PM
Good Morning.

I just downloaded the most recent available version of CHARMM about 10 minutes ago.

I followed these instructions EXACTLY as presented to me for downloading CHARMM:

./configure
cd build/cmake
make
make install

The charmm executable will be created in the directory '../../bin/'

and this is the error I received:

[ 61%] Building Fortran object CMakeFiles/charmm_fortran.dir/openmm_api.F90.o
OpenMMFortranModule.f90:3181:13:

Error: Unclassifiable statement at (1)
OpenMMFortranModule.f90:3178:61:

Error: Symbol 'result' at (1) has no IMPLICIT type
OpenMMFortranModule.f90:3183:60:

Error: Symbol 'count' at (1) has no IMPLICIT type
OpenMMFortranModule.f90:3794:59:

Error: Symbol 'result' at (1) has no IMPLICIT type
OpenMMGBSWFortranModule.f90:22:9:

Fatal Error: Cannot open module file 'openmm.mod' for reading at (1): No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/charmm_fortran.dir/build.make:9419: CMakeFiles/charmm_fortran.dir/openmm_api.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:187: CMakeFiles/charmm_fortran.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

I want to emphasize that this is a pristine, first compilation. By that, I mean that there were no previous compiles, i.e the directory is new and untouched, after the command: 'tar -xvzf charmm.tar.gz

Can you help me with this?

Regards,

Angelo
Posted By: rmv Re: Problem Compiling Newest Version of Charmm - 05/27/22 02:48 PM
IMHO, the openmm feature should be optional, as it requires some additional user setup prior to compiling; see the openmm info file in the documentation.

OTOH, you can skip that feature by including --without-openmm as an option to configure.

As often happens, the documentation is only approximately correct.
Posted By: rossi Re: Problem Compiling Newest Version of Charmm - 05/27/22 04:32 PM
Yeah! After the initial anxiety subsided, I discovered just that. Everything is fine now. I live in NYC and will talk to my therapist about reacting suddenly without careful consideration of my actions.

OTOH, I am so happy that I can get the latest and greatest version of CHARMM for free.

I have an account at NERSC, and their cluster runs only GPUs at present. I will take this version of CHARMM and try to compile it with openmm. Compiling with the option --without-openmm works, but now I want to compile an OpenMM version of CHARMM utilizing the GPUs at NERSC. What happens then? Do I get the same error above? Any comments?

Thanks again.

Angelo
If you can start from scratch and attach the full output of the configure script as a text file, then we can see what types and versions of compiler, openmm, etc. that you're using.

What compilers are you using and what are their versions?

What version of OpenMM are you using?

What version of CUDA are you using?

What version of CMake are you using?

I think this is the most relevant info.
Posted By: rossi Re: Problem Compiling Newest Version of Charmm - 05/27/22 06:37 PM
Hello Josh,

I will get back to you on this. I will use the NERSC system, and then append the results of the configure. So far I was using my laptop that doesn't have GPUs.

Thanks again.

Angelo
Posted By: rossi Re: Problem Compiling Newest Version of Charmm - 06/01/22 01:14 PM
Hello,

I am trying to compile the most recent free version of CHARMM on the NERSC cluster. I am using the perlmutter cluster which (for now) uses only GPUs. I installed OpenMM 7.7 using a conda install. During the configure of the free CHARMM code, I can now point to the plugins from the conda install. There are all these wonderful newer versions of the cuda toolkits available: cudatoolkit/11.0, cudatoolkit/11.2, cudatoolkit/11.5.

No matter what I try, this is the error I am getting:

OpenMMFortranModule.f90:4527:13:

Error: Unclassifiable statement at (1)
OpenMMFortranModule.f90:5619:61:

Error: Symbol 'result' at (1) has no IMPLICIT type
OpenMMFortranModule.f90:5624:60:

Error: Symbol 'count' at (1) has no IMPLICIT type
OpenMMFortranModule.f90:4524:59:

Error: Symbol 'result' at (1) has no IMPLICIT type
OpenMMGBSWFortranModule.f90:22:9:

Fatal Error: Cannot open module file 'openmm.mod' for reading at (1): No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/charmm_fortran.dir/build.make:9419: CMakeFiles/charmm_fortran.dir/openmm_api.F90.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:227: CMakeFiles/charmm_fortran.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Comments:

1.There is nothing wrong with the code. The compiler doesn't know what it's talking about! Help! Help!
2. I am frustrated by this. I think it has something to do with the CRAY setup.
3. One might ask the following: well, you successfully installed OpenMM 7.7, and the GPU code works really well, why are you playing around trying to compile the mostly Fortran and C code? I want to have a sense of continuity, and I like CHARMM.
4.As I stated above, I used conda to install OpenMM 7.7. I think the conda concept is completely antithetical to the idea of using the Linux operating system or any Unix operating system. After conda installation (via Anaconda), I find that it interferes with commands and software involving python. Python commands are routed through bash or csh to the anaconda directory which is really a parallel operating system to the Linux operating system. My Linux debian operating system has python 11 installed, but this is what I get with anaconda installed:

/home/rossi/anaconda3/lib/python3.7/__pycache__/rlcompleter.cpython-37.pyc matches /home/rossi/anaconda3/lib/python3.7/rlcompleter.py

that is a lower level of python than I expected. Yeah, I know I can comment the lines in the .bashrc shell, but really I am older now and sometimes forget.

No one can serve two operating systems, nor can one expect two versions of python.

Regards,

Angelo
There is a bug in the file OpenMMFortranModule.f90 for OpenMM 7.7.0

If you can find this file under your ~/anaconda3 directory, you can edit it.

All of the 3 instances of 'long long' need to be replaced with 'integer(8)' I think.

For me, the file I needed to change lives in
~/miniconda3/pkgs/openmm-7.7.0-py39h9d5585d_0_khronos/include

I found it by doing
find -L . -name OpenMMFortranModule.f90
in my home directory.

WARNING: conda may not be happy that you changed a file by hand. You may get messages when you update, install, or uninstall software in the future.
Posted By: rossi Re: Problem Compiling Newest Version of Charmm - 06/01/22 06:54 PM
Dear Josh,

Thanks so much for your reply.

I am confused.

After I installed anaconda, I did something like the following:

conda create -n myenv

conda activate myenv

conda install -c conda-forge openmm.

After that I was good-to-go. I didn't notice that any compilation happened. When I set up an input file for openmm, it worked both on my laptop (CPU) and NERSC (GPU)

I thought that all the libraries and were put in place and ready to go by the conda install command, The libraries and plugins were place in appropriate directories, but that's all.

How does the OpenMMFortranModule.f90 file fit into this? There is such a file in the free CHARMM source code. Can you explain the connection?

Thanks so much.

Regards,

Angelo
© CHARMM forums