Bug #2725

symbols in gromacs/restraint/restraintpotential.h not available to external client code

Added by Eric Irrgang over 1 year ago. Updated over 1 year ago.

Target version:
Affected version - extra info:
Affected version:


The version of restraintpotential.h installed with GROMACS 2019 beta 1 declares some symbols that are defined only in libgromacs, though the model for externally-compiled MD plugin code has been to link only against libgmxapi.

The simplest solution is to fully define the member functions in restraintpotential.h. See Change-Id: I530c8b74d490645de25c722036be5387a4fc0a61

An alternative solution would be to require client code to link both libgmxapi and libgromacs for GROMACS 2019, but that is both an unnecessary headache for users and instead requires changes to the way the libgromacs target is built and exported.

This bug demonstrates that it will be useful to allow future test binaries to be compiled as external client code would be, without access to the symbols currently exposed in libgromacs that aren't expressly part of the public API, but that is beyond the scope of this issue. (Also relates to #701)

Note that, with resolution to issue #2630, we expect to build sample client code on Jenkins build hosts against GROMACS installations (out of build tree), so that will help.

This issue also defers discussion on merging libgmxapi and libgromacs.

Associated revisions

Revision 6aaebd63 (diff)
Added by Eric Irrgang over 1 year ago

Fully define symbols in restraintpotential.h

External client code (i.e. an MD plugin) is expected to link against
libgmxapi, but not against libgromacs directly. This change allows
client code to implement gmx::IRestraintPotential using only GROMACS
installed headers, without relying on libgromacs to define methods in
gmx::PotentialPointData or gmx::IRestraintPotential.

Fixes #2725

Change-Id: I530c8b74d490645de25c722036be5387a4fc0a61


#1 Updated by Gerrit Code Review Bot over 1 year ago

Gerrit received a related patchset '1' for Issue #2725.
Uploader: M. Eric Irrgang ()
Change-Id: gromacs~release-2019~I530c8b74d490645de25c722036be5387a4fc0a61
Gerrit URL:

#2 Updated by Eric Irrgang over 1 year ago

  • Description updated (diff)

#3 Updated by Eric Irrgang over 1 year ago

  • Status changed from New to Resolved

#4 Updated by Paul Bauer over 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF