[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