[Users] HDF5 and C++
Erik Schnetter
schnetter at cct.lsu.edu
Thu Dec 9 11:16:35 CST 2010
On Thu, Dec 9, 2010 at 5:04 PM, John Baker <john.g.baker at nasa.gov> wrote:
> Hi,
> There was some discussion of HDF5 and c++ recently on
> this list (See:
> http://lists.einsteintoolkit.org/pipermail/users/2010-September/000515.html
> ). And also on the trac list in October.
> In relation to these, our group has been having several problems
> related to HDF5 and c++ recently.
> On many of the production environments where we run, there is no
> hdf5 build available which includes cpp support. In particular a build
> failed when searching for libhdf5_hl_cpp. We worked around this by
> removing these libraries from the list in
> ExternalLibraries/HDF5/HDF5.sh. This seemed to work, but required our
> hacking the repository version of the code and presumably could cause a
> failure with any thorns needing HDF5 C++ support.
> At the same time (actually going back to the first ETK release) I
> have had difficulty compiling on MacOS, (the macports hdf5-18 doesn't
> support fortran or c++ with openmpi). I don't generally need hdf5 when
> I'm doing development on my laptop, but it would be good to have it
> working. I recently tried using the HDF5=BUILD option on Mac, but this
> seemed to lead to the same problem in different form. The HDF5
> configuration failed with a complaint that --enable-cxx was incompatible
> with MPI compilers.
> Getting to the point now, I have some questions:
>
> 1. Is there a good reason why HDF5 needs the C++ libraries in Cactus?
> 2. Does hdf5 1.8.5 even support the c++ interface?
> 3. What should we be doing differently to work around these issues?
John
Yes, we have source code that calls HDF5 from C++, and also code that
calls HDF5 from Fortran. We therefore use HDF5 with both C++ and
Fortran interfaces enabled. At the same time we build only the serial
version, because the parallel version does not support the C++
interface (for whatever reason).
If the system HDF5 library is not good enough, then this should be
auto-detected, and Cactus should build HDF5 on its own. You can also
specify this manually with HDF5=BUILD. This should work -- this is our
catch-all fallback solution and is supposed to be very robust (except
on systems where the HDF5 configure-make-make install steps don't
work).
Your problems read as if you tried to build a parallel version of
HDF5. This should not happen on its own. Did you enable that yourself?
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu> http://www.cct.lsu.edu/~eschnett/
More information about the Users
mailing list