-
Notifications
You must be signed in to change notification settings - Fork 392
Fix processing of CMake option with-mpi
#3112
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
Conversation
|
Looks good to me, should I perform a test build in my setup or do you already have something in place test-build-wise? |
|
I think this also fixes #2179, right? |
I did recreate my initial error (sorry, somehow deleted my state too early to ;-) ) using the current EBRAINS state for the nest package (and spack) → building If I build ⇒ I guess some cmake file provided by the installed |
|
Just a comment: On my system (macOS 14.3.1) with cmake 3.28.3, while they are run when using I am very certain that this has worked like this for many years, so that it is not a matter of a very recent Cmake update. The same holds true for our NEST CI builds, e.g. the one, only including BOOST, see
where comparison of the last line with the So it seems to me that the ON/OFF flag works in a number of cases at least with the existing code. |
Was this with a |
Could it be that |
Ok, I'll update my initial #2993 to reflect that info.
That's exactly what the package manager |
Co-authored-by: Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no>
|
@heplesser I did test it with the current state and (unfortunately) see the same behavior as before — i.e. when building nest with sonata but w/o mpi against a hdf5 with mpi it fails…
I suspect it's somehow the In case of the failing one (i.e. hdf5 with mpi), it looks like this: In the failing case |
|
@muffgaga Thank you for the very detailed explanation. I now understand the problem much better. But it also makes me wonder why you would want to build NEST without MPI on a system that supports MPI (since HDF5 is built with MPI)? |
Actually, I wouldn't… I would expect that cmake (when calling it for the nest build) either throws an error or that it would override my selection and enable MPI. |
CMake throws an error, just a very confusing one, doesn't it? And I would not want CMake (or any other software) to silently switch configuration settings. What really confuses me is that HDF5 seems to have an effect on MPI-detection, even though the HDF5-check happens several steps later than the MPI check. Could you run CMake with I would suggest to move further discussion back to #2993, as I will close this PR soon in favor of a corresponding one dedicated to just making |
Yes, that's technically correct (which is the best kind of correct), but it's a "partial MPI config check"-type of error instead of a "We don't expect MPI to be used when it's explicitly disabled by the user"… ;)
ACK, will do (it's running).
👍 |
|
And nice, the (I'll send the tar ball via some chat.) |
|
Closing this one now, has been superseeded by #3148. |
Meant to address #2993, but does not.