Bug #2363

CorrelationsTest fails with lmfit-6.2

Added by Christoph Junghans over 2 years ago. Updated over 2 years ago.

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


Using lmfit-6.2 (, the CorrelationsTest fests tails:

[ RUN      ] ExpfitTest.EffnPRES
/home/junghans/rpmbuild/BUILD/gromacs-2018-beta3/src/testutils/refdata.cpp:918: Failure
   In item: /result/[4]
    Actual: 0.14108304260084314
 Reference: 0.41325325292628245
Difference: 0.27217 (6865056106240676 double-prec. ULPs, rel. 0.659)
 Tolerance: abs. 0.0001, rel. 0.0001
/home/junghans/rpmbuild/BUILD/gromacs-2018-beta3/src/testutils/refdata.cpp:918: Failure
   In item: /result/[5]
    Actual: 4.2569860605683516
 Reference: 5.8277122335091622
Difference: 1.57073 (1768480451789330 double-prec. ULPs, rel. 0.27)
 Tolerance: abs. 0.0001, rel. 0.0001
[  FAILED  ] ExpfitTest.EffnPRES (17 ms)
[----------] 10 tests from ExpfitTest (56 ms total)

[----------] Global test environment tear-down
[==========] 21 tests from 3 test cases ran. (97 ms total)
[  PASSED  ] 20 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] ExpfitTest.EffnPRES


#1 Updated by Christoph Junghans over 2 years ago

It seems to be fixed with lmfit-6.4!

#2 Updated by Erik Lindahl over 2 years ago

  • Status changed from New to Accepted

Confirmed that it works fine with external versions of both lmfit 6.1 & 6.3, so only 6.2 is affected.

#3 Updated by Erik Lindahl over 2 years ago

#€%!... and lmfit provides no means whatsoever to easily check the library version. Even our present check for "at least version 6.1" doesn't work in practice on my Mac.

#4 Updated by Mark Abraham over 2 years ago

I applied for a login on their redmine, hopefully I can file a feature request there for something useful.

#5 Updated by Erik Lindahl over 2 years ago

  • Status changed from Accepted to Rejected
  • Assignee set to David van der Spoel

After looking into this quite extensively, unfortunately I don't see any realistic way of fixing this lmfit bug in Gromacs.

The lmfit library headers themselves seem to lack version information, so we cannot check the version during CMake time - even the present check for version >=6.1 does not have any effect unless there is external library information in separate files (e.g. pkgconfig).

I have even looked for other features or routines that we could use to identify the library (e.g. by the routines available or their arguments, but there are no significant changes between the versions we're interested in.

Technically it might be possible to include the failing unit test already in our CMake code, but that likely won't catch the requirement of needing at least version 6.1. Instead of doing a half-baked solution there I would suggest that we stick to the unit tests - at least we will catch the lmfit bugs there.

David: This might be an indication lmfit needs to be replaced with a proper C++ class in Gromacs itself before release 2019.

#6 Updated by Erik Lindahl over 2 years ago

  • Status changed from Rejected to Closed

PS: Feel free to reopen when/if there is new information.

Also available in: Atom PDF