-
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
Set CMake hints for path to Python installation if it's direct or indirect dependency (when using CMake >= 3.12) #3282
Conversation
Test report by @Flamefire Overview of tested easyconfigs (in order)
Build succeeded for 8 out of 8 (8 easyconfigs in total) |
@Micket Anything required here? |
@boegel ping |
Is this included in new Easybuild v4.9.2? |
No, this is not even included in the develop branch yet. Otherwise the status on top of this page would say "Merged" instead of "Open" |
Looks fine, but this should be tested a bit more broadly than just with GROMACS imho. Now's a good time to merge this, assuming that the next release will be EasyBuild 5.0, since I wouldn't be surprised if there's some fallout because of this (see #3088, which also shouldn't cause trouble, but I believe it did somewhere) |
GROMACS was used because that is where it fails without this.
This one is much less likely to cause fallout as we basically tell CMake: "Use this!" |
@Flamefire Do we fully understand why what we have now fails with GROMACS? If so, can we document this somewhere (either in a dedicated issue, or in here)? |
This is an accompanying PR to #3283 after a report and discussion in Slack Basically GROMACS changed the default Python search (by CMake) to prefer a virtual env supplied Python. So CMake picked up the Python used for EasyBuild when that was installed in a virtual env, instead of the Python used as a dependency. This is an alternative that also works by passing the Path to the Python root we want to use to CMake. This way it will consider this first before going through the other defaults (like the active virtual env) Both PRs fix the issue for GROMACS. This one should be more reliable especially for CMake options like "prefer virtual env" or "prefer the highest version you find" which we dealt with in the past. So less surprises with this. |
There just was an issue reported on Slack where OPENFOAM found a system Python:
So OPENFOAM depends on Paraview which depends on Python but during configure of OPENFOAM ParaView is searched for which searches for Python and finds the system version (even though I'd expect our |
Sometimes Python is a dependency of a dependency and CMake still needs to find that. So check if Python is loaded and set the hints if it is.
ce52587
to
b7efb0b
Compare
Closing in favor of #3463 |
(created using
eb --new-pr
)