[MOAB-dev] undefined reference to `H5Tarray_create2

Jason Kraftcheck kraftche at cae.wisc.edu
Wed Jun 11 10:12:44 CDT 2008


de Almeida, Valmor F. wrote:
> Tim,
> 
> I am trying to compile MOAB without imesh enabled, and with parallel
> hdf5 enabled. Here is the configure
> 
> ./configure --prefix=$HOME/projects/scidac/itaps/moab-usr
> --enable-doxygen=/usr/bin   --with-mpi=/usr/local/ompi_gnu --with-zlib=/
> --with-szip=/ --with-hdf5=/usr/local/hdf5 --with-netcdf=/usr/lib
> 

You should not need to specify paths such as /usr/bin and /usr/lib.  The
configure script will look in the normal places automatically.  The
following should be sufficient:
  ./configure --prefix=$HOME/projects/scidac/itaps/moab-usr \
              --enable-doxygen \
              --with-mpi=/usr/local/ompi_gnu \
              --with-hdf5=/usr/local/hdf5

> At the end of this e-mail is the end of the compilation output.
> 
> I can get a successful MOAB compilation if I use hdf5 without parallel
> support but not otherwise.
> 
> When I built hdf5 with parallel support, I could not enable the c++
> interface because it is incompatible with parallel support. So I am
> guessing that MOAB is using the hdf5 c++ interface. Is this correct? If
> so, this interface is not available when hdf5 is built with parallel
> support.

MOAB uses only the C interface (for both parallel and serial hdf5.)  The
problem is most likely that your parallel HDF5 is 1.8.x and the serial is
1.6.x.  During your parallel build you are using the 1.8.x headers and
trying to link the 1.6.x library.  From your configure line:
  --with-hdf5=/usr/local/hdf5
>From the failing link line:
  /usr/lib/libhdf5.so

This is most likely a side effect of the unnecessary /usr/lib entry for
other configure options, which is apparently causing -L/usr/lib to be listed
before -L/usr/local/hdf5/lib on the link line.

- jason




More information about the moab-dev mailing list