Project

General

Profile

Bug #542

cmake build of mdrun_mpi_d fails

Added by Anonymous about 9 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Erik Lindahl
Category:
mdrun
Target version:
Affected version - extra info:
Affected version:
Difficulty:
uncategorized
Close

Description

While building gromacs-4.5.1 (downloaded on Thu Sep 2 17:03:08 UTC 2010, MD5SUM: a851fabbe44eb09cc3a7fe71ef5ced6b) with cmake in all combinations GMX_MPI=OFF/ON and GMX_DOUBLE=OFF/ON, I noticed that mdrun_mpi_d is missing.

Turns out that the following commands (in an empty build- and install-dir) result in mdrun getting the name mdrun_d instead of the requested mdrun_mpi_d (and thus overwriting the non-mpi double version if it exists).

Commands to reproduce:

tar -xzf gromacs-4.5.1.tar.gz
mkdir gromacs-4.5.1_build
cd gromacs-4.5.1_build

cmake -D CMAKE_INSTALL_PREFIX=/usr/local/gromacs-4.5.1 -D GMX_DOUBLE=ON -D GMX_MPI=ON -D GMX_BINARY_SUFFIX=_mpi_d -D BUILD_SHARED_LIBS=OFF ../gromacs-4.5.1
make -j 8 mdrun
sudo make install-mdrun

the results:
$ ls /usr/local/gromacs-4.5.1/bin/mdrun*
/usr/local/gromacs-4.5.1/bin/mdrun_d

$ ldd /usr/local/gromacs-4.5.1/bin/mdrun_d
linux-vdso.so.1 => (0x00007fff07730000)
libmpi_cxx.so.0 => /usr/lib/libmpi_cxx.so.0 (0x00007f4db2fec000)
libmpi.so.0 => /usr/lib/libmpi.so.0 (0x00007f4db2d3c000)
libopen-rte.so.0 => /usr/lib/libopen-rte.so.0 (0x00007f4db2aef000)
libopen-pal.so.0 => /usr/lib/libopen-pal.so.0 (0x00007f4db287b000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f4db2677000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00007f4db245c000)
libutil.so.1 => /lib/libutil.so.1 (0x00007f4db2259000)
libm.so.6 => /lib/libm.so.6 (0x00007f4db1fd6000)
libfftw3.so.3 => /usr/lib/libfftw3.so.3 (0x00007f4db1cda000)
libc.so.6 => /lib/libc.so.6 (0x00007f4db1957000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f4db1643000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f4db1425000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f4db120e000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4db3227000)

$ mdrun_d h
NNODES=1, MYRANK=0, HOSTNAME=ubuntu_lucid
:
) G R O M A C S (-:

Groningen Machine for Chemical Simulation
:-)  VERSION 4.5.1  (-:
[...]
:-)  mdrun_d (double precision)  (-:

==> mdrun_d is actually DOUBLE and MPI

System: Ubuntu 10.4 (Lucid Lynx) with cmake version 2.8.0 and openmpi 1.4.1

Oliver


Related issues

Is duplicate of GROMACS - Bug #539: cmake issuesClosed09/02/2010

History

#1 Updated by Teemu Murtola about 9 years ago

The problem is that with the current CMake build system, you should also set GMX_DEFAULT_SUFFIX to OFF if you want to use custom suffixes. Otherwise, your suffix settings may get quietly overridden (for binary suffixes, this happens if GMX_DOUBLE is ON).

While this is not a bug per se, I think that the current behavior is quite unintuitive and could be improved, so I'll mark the bug as confirmed.

#2 Updated by Teemu Murtola about 9 years ago

The issues in this bug (how to best treat the suffix options) is going on in bug #539, so marked this bug as a duplicate of that one for clarity.

Also available in: Atom PDF