-
Notifications
You must be signed in to change notification settings - Fork 283
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
enhance OpenFOAM easyblock to add symlinks for libraries to ensure 'mpi' versions have preference over 'dummy' versions #2196
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
snappyHexMesh
have MPI issues when RPATH is being used, becauseplatforms/linux64GccDPInt32Opt/lib/mpi
is not added to RPATH, whileplatforms/linux64GccDPInt32Opt/lib
andplatforms/linux64GccDPInt32Opt/lib/dummy
are. This will make some tools pick up, for instance,libPstream.so
fromlib/dummy
, while they should use the one fromlib/mpi
. The result is that they will not run with the-parallel
flag, i.e. that they don't support MPI.Spack seems to solve this issue by making symlinks in
lib
to all libraries inlib/mpi
. Sincelib
takes precedence overdummy
in 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