[ET Trac] [Einstein Toolkit] #1158: ExternalLibraries/HDF5 should change the defaults for HDF5_ENABLE_CXX and HDF5_ENABLE_FORTRAN to "no".
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Tue Oct 7 17:05:20 CDT 2014
#1158: ExternalLibraries/HDF5 should change the defaults for HDF5_ENABLE_CXX and
HDF5_ENABLE_FORTRAN to "no".
------------------------------------+---------------------------------------
Reporter: knarf | Owner:
Type: defect | Status: confirmed
Priority: minor | Milestone:
Component: EinsteinToolkit thorn | Version: development version
Resolution: | Keywords:
------------------------------------+---------------------------------------
Changes (by hinder):
* status: new => confirmed
Comment:
I'm not sure what caused my link error, but updating macports and
installing the C++/Fortran variant of the port fixed the problem. If you
ask for C++ and Fortran in your optionlist, but your HDF5 installation
doesn't have them, a link error seems reasonable.
I just spoke with David Radice, and he informs me that while the ET does
not require the Fortran HDF5 bindings, there are many Cactus users with
codes which are not part of the ET which do require these bindings. If we
disable them by default, they will have to use customised optionlists,
which will likely annoy them, so I don't want to do that. The C++
bindings are not used, to his knowledge, but if we are going to include
the fortran ones, we may as well also require the C++ ones.
I think the most correct solution would be for a thorn to declare in its
configuration.ccl file not only that it needs HDF5, but also that it needs
HDF5 with fortran. i.e. "variants" for configuration dependencies. This
is too much work to add, so we should find a compromise.
At the moment, the HDF5 thorn will only automatically use an HDF5
installation that has the libraries needed. However, if the user
specifies HDF5_DIR, but that location doesn't have the bindings, the error
comes very late, i.e. at link time. So we could add a check in the
configuration script that the libraries exist there. This logic is
essentially the same as that used in the probing code, so should be
refactored into a common function.
In summary, my proposal is that the defaults for HDF5_ENABLE_CXX and
HDF5_ENABLE_FORTRAN remain "yes", but an additional check is added to the
HDF5 configure script in the case that HDF5_DIR is set by the user that
the required libraries actually exist in that location. I have no
immediate plans to do this, as it is a low priority, and only affects
"advanced" users who manually set HDF5_DIR, and the resulting error
message fairly well reflects the actual problem; the only issue is that it
is detected late.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1158#comment:4>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list