seekrcentral / seekr2

Simulation-Enabled Estimation of Kinetic Rates - Version 2
MIT License
27 stars 6 forks source link

Build Seekr2 Plugin from source fails #26

Closed dpaschall closed 2 years ago

dpaschall commented 2 years ago

Hi - Having issues with the SEEKR2 Plugin, after SEEKR2 install from source successfully installs. I'm using REHL (rocky linux 8.6) distribution of linux, and have my build notes below...

For some reason, when I issue the "make" command for the plugin - the git repository seems to have the files we need, but the make file is trying to find the headers files in the wrong place?

here is a screenshot of trying to do the make command after configuring the ccmake .. image

Build Notes for SEEKER and dependencies and addons

# #

AmberTools Dependencies:

yum -y install tcsh make \ gcc gcc-gfortran gcc-c++ \ which flex bison patch bc \ libXt-devel libXext-devel \ perl perl-ExtUtils-MakeMaker util-linux wget \ bzip2 bzip2-devel zlib-devel tar

AmberTools Compile:

# downloaded tar to /var/AMBERTOOLS/AmberTools22.tar.bz2

tar -xvf AmberTools22.tar.bz2 cd /var/AMBERTOOLS/amber22_src/build

edit run_cmake - INSTALL_PREFIX to be /var/AMBERTOOLS

./run_cmake make install source /var/AMBERTOOLS/amber22/amber.sh

Install BrownDye

dnf install make lapack

OpenMM & OpenMM Plugin Install from Source Notes:

https://github.com/seekrcentral/seekr2_openmm_plugin#readme

Install Prerequisits:

conda create --name SEEKR2 python=3.8 conda activate SEEKR2 #go into the enivronment you want this installed in conda install numpy scipy netcdf4 mpi4py sudo dnf -y install cmake-gui #this step used DNF instead of APT-GET (ubuntu) conda install -c conda-forge doxygen conda install swig pip install --upgrade cython # needed at later step, but better to do sooner

SOURCE BUILD for OpenMM

cd /var/OpenMM/

or we put it where utot user can edit: /home/utot/.conda/envs/SEEKR2/openmm

git clone https://github.com/openmm/openmm.git cd openmm mkdir build cd build ccmake ..

cmake options come up, press "c", then "e", then "Enter" fill in info:

CMAKE_INSTALL_PREFIX /var/OpenMM/ #or /home/utot/.conda/envs/SEEKR2/openmm

press "Enter" then save via "c", "e", then generate "g" then done

make make install make PythonInstall make test

test openmm

python -m openmm.testInstallation

REQUIRED Install Plugin from Source

cd /home/utot/.conda/envs/SEEKR2/Plugin git clone https://github.com/seekrcentral/seekr2_openmm_plugin.git cd seekr2_openmm_plugin/seekr2plugin mkdir build cd build ccmake ..

cmake options come up, press "c", then "e", then "Enter" fill in info:

CMAKE_INSTALL_PREFIX /home/utot/.conda/envs/SEEKR2/Plugin OPENMM_DIR /home/utot/.conda/envs/SEEKR2/openmm

press "Enter" then save via "c", "e", then generate "g" then done

make image

lvotapka commented 2 years ago

A couple of suggestions:

Make sure that you've set the OPENMM_DIR variable to the same location as the CMAKE_INSTALL_PREFIX for both OpenMM and the SEEKR2 Plugin.

Also, the problem might be caused by missing entries to LD_LIBRARY_PATH - these should point to the OpenMM installed lib/ and lib/plugins/ folders. For instance:

export LD_LIBRARY_PATH="/home/USERNAME/bin/openmm/lib:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH="/home/USERNAME/bin/openmm/lib/plugins:$LD_LIBRARY_PATH"

dpaschall commented 2 years ago

Excellent! Those are the exact two things I needed to look at. I found my OpenMM install was in a slightly different folder than what the plugin was seeing. Once that was fixed, the plugin installed from source without errors. When I ran the test install with Python command:

from seekr2plugin import MmvtLangevinIntegrator I got errors about the libraries, but you showed we needed to export those to our path. Once exported to my path, i got this output: " (SEEKR2) [utot@rockylinuxGPU build]$ python Python 3.8.13 (default, Oct 21 2022, 23:50:54) [GCC 11.2.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. from seekr2plugin import MmvtLangevinIntegrator Warning: importing 'simtk.openmm' is deprecated. Import 'openmm' instead. "

So only a warning, which is fine. So it appears the plugin and openmm are now working after your suggestions, so thanks again.

I'll retry this build again with root and see if I can't make a conda environment that multiple users will use.

You can close this case as resolved for now. Thanks again

lvotapka commented 2 years ago

That's great to hear!