NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
I am having the same issue. On several of our codes, we output a file-per-processor, so the HDF5 is built in serial mode, but the application that the library is linked into is built with mpi. I have to remove the MPI defines from netcdf.h or it corrupts the build. --Greg Sjaardema Dennis Heimbigner wrote: > The current setup in configure.ac for > netcdf-4 is to check to see if HDF5 > was configured with mpi, and if so, then > to use '#include <mpi.h>' in > netcdf.h that is installed. > > If hdf5 is not configured for mpi, > then it is necessary to include those > fake declarations (e.g. #define MPI_Comm int) > to allow other procedures in netcdf.h > to be compiled. > > If you write a program that includes > mpi.h then indeed you will get conflicts; > so the question is: why are you including > mpi.h in your netcf programs? Does it work > ok if you remove the '#include <mpi.h>' ? > > =Dennis Heimbigner > > > > Constantine Khroulev wrote: > >> 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! >> > > _______________________________________________ > netcdfgroup mailing list > netcdfgroup@xxxxxxxxxxxxxxxx > For list information or to unsubscribe, visit: > http://www.unidata.ucar.edu/mailing_lists/ > >
netcdfgroup
archives: