[gmx-users] Compilation issues with GROMACS 5 beta 2

jk broodkiller at gmail.com
Mon Mar 17 13:11:31 CET 2014

Hello everyone, my name is Jacek and I am new to GROMACS :) I have recently
downloaded and tried to compile the second beta of GROMACS 5, and run into
some issues along the way, so I decided to ask around and see if I can find
some help. Basically, what I wanted to do was to compile a few different
variants of GROMACS 5 to see how they perform against each other. I was
interested in comparing single and double precision builds, CUDA vs no CUDA
and MPI vs no MPI, in various combinations. Eventually though, I have only
managed to succesfully compile a single-precision, CUDA-extended and
MPI-paralellized build, and none other.

Now to the details:
(1) Compiling with -DGMX_DOUBLE=OFF, -DGMX_MPI=OFF and -DGMX_GPU=OFF
terminates early with a fatal error of lacking MPI headers:

[  3%] Building C object
In file included from
fatal error: mpi.h: No such file or directory
compilation terminated.
make[2]: ***
Error 1
make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
make: *** [all] Error 2

(2) Compiling with -DGMX_DOUBLE=OFF, -DGMX_MPI=OFF and -DGMX_GPU=ON
terminates exactly the same, but after some CUDA stuff is compiled.

(3) Compiling with -DGMX_DOUBLE=OFF, -DGMX_MPI=ON and -DGMX_GPU=OFF
terminates at link with a fatal error of lacking CUDA-specific objects:

[ 92%] Building CXX object
Linking CXX executable ../../bin/template
../../lib/libgromacs_mpi.so.0.0.0: undefined reference to
(...some more undefined refs)
../../lib/libgromacs_mpi.so.0.0.0: undefined reference to
collect2: ld returned 1 exit status
make[2]: *** [bin/template] Error 1
make[1]: *** [share/template/CMakeFiles/template.dir/all] Error 2
make: *** [all] Error 2

(4) Compiling with -DGMX_DOUBLE=OFF, -DGMX_GPU=ON and -DGMX_MPI=ON works
fine, as mentioned before.

(5) Compiling with -DGMX_DOUBLE=ON, -DGMX_MPI=OFF and -DGMX_GPU=OFF
terminates identically as (1)

(6) Compiling with -DGMX_DOUBLE=ON, -DGMX_MPI=ON and -DGMX_GPU=OFF
terminates identically as (3)

Each recompilation attempt was made in a fresh direction, with all the files
from a previous build removed, so as to avoid any conflicts. I can post
links to complete compilation logs to PasteBin, if necessary. On the
technical side of things, I am running a 64-bit Ubuntu 12.04 system on a
quad-core i7-860 CPU, with 16GB of RAM and a brand new GTX 780Ti gfx card on
hand-compiled CUDA 5.5 (driver+toolkit).
Of the relevant libs, I have the latest FFTW-3.3.3 compiled nicely in single
('--enable-float --enable-shared --enable-sse2') and double precision
('--enable-shared --enable-sse2') variants stored in separate folders, which
I pass to Cmake through the -DFFTW(F)_LIBRARY parameter. I have OpenMPI, MPICH2 and libboost 1.46.1, all from the offical Ubuntu repo.

My guess is that the build system somehow disregards the flags sent to it
and wants MPI/CUDA files even when directly told to skip them. Any ideas on
how to fix/work around this?

View this message in context: http://gromacs.5086.x6.nabble.com/Compilation-issues-with-GROMACS-5-beta-2-tp5015221.html
Sent from the GROMACS Users Forum mailing list archive at Nabble.com.

More information about the gromacs.org_gmx-users mailing list