Hi preCICE team,
Today I tried to build openfoam-adapter for OpenFOAM-v1912 but failed(but worked for OpenFOAM-7). Unlike the other topic with the same error, I didn’t use spack and just followed the guide to install precice and openfoam-adapter. The error message is uploaded. Allwmake.log (708 Bytes) ldd.log (9.3 KB) wmake.log (621.9 KB)
I also tried to download openfoam-adapter_v1.0.0_OpenFOAMv1812-v2106 and built it. However, the same error happened. How could I deal with this problem?
Thanks in advance!
Your linker reports undefined symbols indeed. I guess one potential issue might be that you have a 64 bit OpenFOAM version, but preCICE only supports 32 bit versions for the moment (actually never tried it, you might be lucky if you stay below the 32 bit integers). There is also a related issue Add support for 64-bit indices · Issue #887 · precice/precice · GitHub
Still, I’m not sure if it resolves your issue. The linker issue might be unrelated.
Could it be that you have multiple versions of libfftw3 installed and it picks a different one when compiling and a different one when linking? By the way, this is not a direct dependency of the adapter, so try building another OpenFOAM function object to check.
You can check shared libraries for runtime linking with ldd mylibrary.so.
This still looks like the same version to me. Maybe OpenFOAM ships libfftw3 in their ThirdParty solver? Did you have to build that dependency when you built OpenFOAM?
I still believe that this should be the direction to look at.
Exactly. Take the example function object (on my system at /usr/lib/openfoam/openfoam2106/etc/codeTemplates/functionObject/ and try building it. Then use ldd on the built object. I hope that this will still rely on FFTW, even though it is too simple.
To be honest, we never considered single precision for the OpenFOAM adapter, so I am not surprised. I don’t think that this is really related to the 64bit labels issue, but let’s see.