Test 1: GmxapiExternalInterfaceTests FAILING on 22.6, 23.5 and 24.4

GROMACS versions: 2022.6, 2023,5, 2024.4
GROMACS modification: Yes/No

Hi all.

I’m having a little bit of a problem in trying to compile a newer version of gromacs.

I’ve tried 2022, 2023 and 2024 latest subversions, and all them compile fine however fail consistently only in the first gmx check test as follows:

...
[100%] Built target tests
[100%] Running all tests except physical validation
Test project /home/johannes/src/gromacs/gromacs-2022.6/build
      Start  1: GmxapiExternalInterfaceTests
 1/87 Test  #1: GmxapiExternalInterfaceTests ...................***Failed    0.09 sec
[==========] Running 9 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 9 tests from GmxApiTest
[ RUN      ] GmxApiTest.ApiRunnerRestrainedMD
Generating 1-4 interactions: fudge = 0.5

NOTE 1 [file spc_and_methane.top, line 33]:
  The bond in molecule-type methane between atoms 1 C and 2 H1 has an
  estimated oscillational period of 1.1e-02 ps, which is less than 10 times
  the time step of 2.0e-03 ps.
  Maybe you forgot to change the constraints mdp option.

Number of degrees of freedom in T-Coupling group System is 18.00

NOTE 2 [file /home/johannes/src/gromacs/gromacs-2022.6/build/api/gmxapi/cpp/tests/Testing/Temporary/GmxApiTest_ApiRunnerRestrainedMD_input.mdp]:
  You are using a plain Coulomb cut-off, which might produce artifacts.
  You might want to consider using PME electrostatics.



There were 2 notes
/home/johannes/src/gromacs/gromacs-2022.6/build/bin/gmxapi-test: symbol lookup error: /home/johannes/src/gromacs/gromacs-2022.6/build/bin/gmxapi-test: undefined symbol: _ZN6gmxapi13createContextEv

      Start  2: GmxapiInternalInterfaceTests
 2/87 Test  #2: GmxapiInternalInterfaceTests ...................   Passed
...

I even thought it could be the gcc9 version, however I compiled the 2022 under gcc7 without any issues. Only this specific test fails.

Any clues on how to solve this?

Thanks a lot in advance!

Best regards,

Jones

Hi all.

Bumping up the question so it is not forgotten.

No clues or suggestions on this issue? Anyone, please?

What actually are the GmxapiExternalInterfaceTests concerned about?

Thanks a lot for anything.

I’ve encountered the same issue as well. Does anyone know how to resolve it?

Hi!

It is so nonsense that I forgot to post here…

But the issue magically disappeared when we moved from traditional HDs to M2 NVme SSDs…

Before anyone asks, yes, I tried to use a specific flag I’ve found somewhere to allow longer test runs, but the issue kept happening: only faster storage did the trick.

Good luck!

Thank you so much for your response!

This is an issue with a dynamically loaded library. I don’t know what causes this. It is completely irrelevant for the function of GROMACS, unless you want to dynamically load a library with the python API.

Thanks, Berk.

I wonder why the test binary isn’t loading libgmxapi. Is the library having a build error that is going undetected? Or is the library not being loaded properly at run time?

By any chance are these errors being encountered on an operating system that doesn’t have an RPATH equivalent facility, like Windows?

Or could some sort of unexpected user provided CFLAGS or LDFLAGS be confusing CMake?

I don’t know what is happening. My guess is that the library is built, otherwise I would have expected reports on that. My guess is a loading error.

My guess is that these users didn’t change flags or set RPATH. Can people that reported issues comment?

I was running on Ubuntu system.
I just followed the instructions as the Installation guide - GROMACS 2024.3 documentation.
This issue comes out when I run the make check.
And I don’t know how to set the RPATH or change flags.

So how can I install GROMACS correctly or figure out where went wrong?