CorrelationsTest fails with lmfit-6.2
Using lmfit-6.2 (http://apps.jcns.fz-juelich.de/src/lmfit/old/lmfit-6.2.tgz), the CorrelationsTest fests tails:
[ RUN ] ExpfitTest.EffnPRES /home/junghans/rpmbuild/BUILD/gromacs-2018-beta3/src/testutils/refdata.cpp:918: Failure In item: /result/ 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/ 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
#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.