enhance OpenFOAM easyblock to add symlinks for libraries to ensure 'mpi' versions have preference over 'dummy' versions#2196
enhance OpenFOAM easyblock to add symlinks for libraries to ensure 'mpi' versions have preference over 'dummy' versions#2196boegel merged 3 commits intoeasybuilders:developfrom rug-cit-hpc:openfoam_symlinks
Conversation
|
Test report by @migueldiascosta Overview of tested easyconfigs (in order)
Build succeeded for 19 out of 20 (20 easyconfigs in total) |
Hmm, weird error... any idea what happened here? |
|
Test report by @migueldiascosta Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
|
hm, the failed test was probably some IO error... (?) |
|
I'm also testing this extensively, incl. with some OpenFOAM-Extend easyconfigs, test report coming up soon-ish... |
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 29 out of 29 (22 easyconfigs in total) |
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 1 out of 1 (1 easyconfigs in total) |
boegel
left a comment
There was a problem hiding this comment.
lgtm
Tested on a wide variety of OpenFOAM and OpenFOAM-Extend easyconfigs, and also confirmed that it fixes the reported problem when OpenFOAM is installed with "eb --rpath"
|
I'm working on an enhanced sanity check to catch the problem being fixed here, but I'll open a separate PR for that. Thanks a lot @bedroge! |
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 3 out of 3 (3 easyconfigs in total) |
|
Test report by @boegel Overview of tested easyconfigs (in order)
Build succeeded for 3 out of 3 (3 easyconfigs in total) |
Some OpenFOAM tools, e.g.
snappyHexMeshhave MPI issues when RPATH is being used, becauseplatforms/linux64GccDPInt32Opt/lib/mpiis not added to RPATH, whileplatforms/linux64GccDPInt32Opt/libandplatforms/linux64GccDPInt32Opt/lib/dummyare. This will make some tools pick up, for instance,libPstream.sofromlib/dummy, while they should use the one fromlib/mpi. The result is that they will not run with the-parallelflag, i.e. that they don't support MPI.Spack seems to solve this issue by making symlinks in
libto all libraries inlib/mpi. Sincelibtakes precedence overdummyin the RPATH, the affected tools will then pick up the correct libraries (with MPI support).This PR adds similar functionality to the
install_step.I've (only) tested this with
OpenFOAM/8-foss-2020a, and it seems to work well for that version.Also see: EESSI/software-layer#24
and: #1193