Hello,
I have a problem: NetCDF 4.0.1 adds the following lines to netcdf.h
(HDF5 is, in fact, built without parallel I/O support.):
===
/* These defs added by netCDF configure because parallel HDF5 is not
present. */
#define MPI_Comm int
#define MPI_Info int
#define MPI_COMM_WORLD 0
#define MPI_INFO_NULL 0
===
This (it seems to me) makes it impossible to use MPI (or PETSc) with
NetCDF, producing warnings like
===
/opt/local/include/netcdf.h:43:1: warning: "MPI_COMM_WORLD" redefined
In file included from /Users/constantine/Documents/PISM/petsc-3.0.0-p0/
include/petsc.h:137,
from /Users/constantine/Documents/PISM/petsc-3.0.0-
p0/include/petscis.h:7,
from /Users/constantine/Documents/PISM/petsc-3.0.0-
p0/include/petscvec.h:9,
from /Users/constantine/Documents/PISM/petsc-3.0.0-
p0/include/petscda.h:7,
from ../src/base/grid.cc:20:
===
and errors similar to
===
../src/base/grid.cc:64: error: invalid conversion from ‘int’ to
‘ompi_communicator_t*’
===
NetCDF 4.0.1 built without --enable-netcdf-4 works fine with the same
code.
Please let me know if this is the intended behavior, if I'm doing
something wrong, etc.
Thank you!
--
Constantine Khroulev
PISM (www.pism-docs.org) Developer/Maintainer
University of Alaska Fairbanks