channotation/chap

chap. make command fail

Closed this issue · 3 comments

Compiling chap on Ubuntu 16.04 LTS cmake seems to pass all of the tests: compiler working, found GROMACS, etc.

When I issue the make command, I get:

[ 10%] Building CXX object CMakeFiles/chap.dir/src/io/pdb_io.cpp.o
In file included from /home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp:31:0:
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/include/io/pdb_io.hpp:49:38: error: ‘TopologyInformation’ in namespace ‘gmx’ does not name a type
void fromTopology(const gmx::TopologyInformation &top);
^
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp:40:20: error: ‘TopologyInformation’ in namespace ‘gmx’ does not name a type
const gmx::TopologyInformation &top)
^
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp: In member function ‘void PdbStructure::fromTopology(const int&)’:
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp:43:9: error: request for member ‘getTopologyConf’ in ‘top’, which is of non-class type ‘const int’
top.getTopologyConf(&coords_, box_);
^
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp:46:29: error: request for member ‘topology’ in ‘top’, which is of non-class type ‘const int’
t_topology *topol = top.topology();
^
/home/winsvern2/Downloads/CHAP2/chap-version_0_9_1/src/io/pdb_io.cpp:50:17: error: request for member ‘ePBC’ in ‘top’, which is of non-class type ‘const int’
ePBC_ = top.ePBC();
^
CMakeFiles/chap.dir/build.make:182: recipe for target 'CMakeFiles/chap.dir/src/io/pdb_io.cpp.o' failed
make[2]: *** [CMakeFiles/chap.dir/src/io/pdb_io.cpp.o] Error 1
CMakeFiles/Makefile2:392: recipe for target 'CMakeFiles/chap.dir/all' failed
make[1]: *** [CMakeFiles/chap.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
I am sure the answer is simple, but my command of C++ is minimal. Thank you in advance for your help.

Could you post the output from cmake? Which version of GROMACS are you using?

There was an API break in the release of GROMACS 2019 and CHAP currently supports only GROMACS 2016 and GROMACS 2018. Fixing this is already on my list, but for now you might have to downgrade your GROMACS version.

I am glad to hear you got CHAP to work with an older GROMACS version.

Thanks for sharing your recipe for installing CHAP as well. libopenblas-dev was not needed on Ubuntu 14.04, but is indeed required on Ubuntu 16.04 and 18.04 and presumably on later versions as well. I have updated the installation instructions to reflect this.

The -DGMX_BUILD_OWN_FFTW=OFF flag simply tells cmake not to install fftw automatically (the reason why this does not work can be found in the GROMACS docs under the heading "Linking against libgromacs"). GROMACS then still requires a FFT library, either fftpack or a manually installed fftw. If all you want is to try out CHAP, fftpack will be easier to install, but if you intend to perform MD simulations with that install of GROMACS, fftw will likely give you better performance.

I'm closing this issue since the original question seems to be resolved.