Conversation
| depends_on('boost', when='+boost') | ||
| depends_on('metis', when='+metis') | ||
|
|
||
| depends_on('hdf5~cxx~unsupported+mpi', when='+hdf5+mpi') |
There was a problem hiding this comment.
does petsc conflict with hdf5+cxx or does it just not need the C++ bindings? Likewise for unsupported -- would depends_on('hdf5+mpi', when='+hdf5+mpi') be enough or does that cause issues?
There was a problem hiding this comment.
I'm building PETSc with hdf5+cxx+unsupported, and it's working fine. I think this needs changing.
There was a problem hiding this comment.
I merged it -- want to just submit another PR?
There was a problem hiding this comment.
@eschnett For me hdf5+cxx+unsupported works with anything but Intel. That's why I used the supported version.
There was a problem hiding this comment.
Would it make sense to put depends_on('hdf5+mpi', when='+mpi') here and make the unsupported variant in hdf5 default to False? If it breaks with intel we probably don't want it to be enabled by default.
There was a problem hiding this comment.
unsupported in HDF5's configurations doesn't mean that it enables dodgy code. It only enables additional configuration options, or rather combinations of configuration options. Thus, if something doesn't work with Intel, something else needs to be disabled, and unsupported can remain enabled.
Here, it seems that the Intel compiler can't handle HDF5's C++ interface.
Which version of the Intel compiler is this? What is the error message? What system is this?
If we disable something, we should keep a record of why this was done.
There was a problem hiding this comment.
@alalazo: you actually don't (necessarily). depends_on('hdf5+mpi') is not the same as depends_on('hdf5+mpi~cxx'). The first can link against an hdf5 that satisfies depends_on('hdf5+mpi+cxx'), if it's available. The second cannot.
There was a problem hiding this comment.
The current PETSc dependency means that no one can use PETSc and C++-HDF5 at the same time.
There was a problem hiding this comment.
@eschnett I think my position on having unsupported as a default is quite clear so I won't argue on that again 😄
@tgamblin It was just a choice of convenience : petsc doesn't need +cxx and having the spec restricted permits to always use the default without appending something like:
spack install petsc%intel ^ hdf5~cxx~unsupported
If you think it is better having it less restricted it's fine with me.
There was a problem hiding this comment.
I think less restricted is good. I think we can work on the inconvenience aspect when PR #120 is merged, which I need to get back to 😄. Now to resolve this unsupported thing...
…s-py_rust-bootstrap Add rust-bootstrap variant to py-maturin and py-rpds-py
Modifications :
mpi,shared,double(floating point precision)Note :
After
do_installthe build will possibly fail with an error that is unrelated to the package modifications:I didn't solve that yet and I am not sure if we want it to be part of this PR. I assume it may be related to #497.