diff --git a/.gitignore b/.gitignore index 4393cee..4e00f6a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ netcdf-4.1.1.tar.gz /netcdf-4.3.0.tar.gz /v4.3.1.1.tar.gz /netcdf-4.3.2.tar.gz +/netcdf-4.3.3.tar.gz diff --git a/netcdf-mpio.patch b/netcdf-mpio.patch deleted file mode 100644 index 395b3be..0000000 --- a/netcdf-mpio.patch +++ /dev/null @@ -1,122 +0,0 @@ -commit 435d8a03ed28bb5ad63aff12cbc6ab91531b6bc8 -Author: Quincey Koziol -Date: Wed May 7 08:45:15 2014 -0500 - - Account for the HDF5 library not having the MPI-POSIX VFD configured in. - -diff --git a/libsrc4/nc4file.c b/libsrc4/nc4file.c -index ec3bb0c..5c957be 100644 ---- a/libsrc4/nc4file.c -+++ b/libsrc4/nc4file.c -@@ -308,12 +308,21 @@ nc4_create_file(const char *path, int cmode, MPI_Comm comm, MPI_Info info, - if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0) - BAIL(NC_EPARINIT); - } -+#ifdef USE_PARALLEL_POSIX - else /* MPI/POSIX */ - { - LOG((4, "creating parallel file with MPI/posix")); - if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0) - BAIL(NC_EPARINIT); - } -+#else /* USE_PARALLEL_POSIX */ -+ /* Should not happen! Code in NC4_create/NC4_open should alias the -+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not -+ * available in HDF5. -QAK -+ */ -+ else /* MPI/POSIX */ -+ BAIL(NC_EPARINIT); -+#endif /* USE_PARALLEL_POSIX */ - - /* Keep copies of the MPI Comm & Info objects */ - if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm)) -@@ -465,6 +474,17 @@ NC4_create(const char* path, int cmode, size_t initialsz, int basepe, - ) - return NC_EINVAL; - -+#ifndef USE_PARALLEL_POSIX -+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias -+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK -+ */ -+ if(cmode & NC_MPIPOSIX) -+ { -+ cmode &= ~NC_MPIPOSIX; -+ cmode |= NC_MPIIO; -+ } -+#endif /* USE_PARALLEL_POSIX */ -+ - cmode |= NC_NETCDF4; - - /* Apply default create format. */ -@@ -2168,12 +2188,21 @@ nc4_open_file(const char *path, int mode, MPI_Comm comm, - if (H5Pset_fapl_mpio(fapl_id, comm, info) < 0) - BAIL(NC_EPARINIT); - } -+#ifdef USE_PARALLEL_POSIX - else /* MPI/POSIX */ - { - LOG((4, "opening parallel file with MPI/posix")); - if (H5Pset_fapl_mpiposix(fapl_id, comm, 0) < 0) - BAIL(NC_EPARINIT); - } -+#else /* USE_PARALLEL_POSIX */ -+ /* Should not happen! Code in NC4_create/NC4_open should alias the -+ * NC_MPIPOSIX flag to NC_MPIIO, if the MPI-POSIX VFD is not -+ * available in HDF5. -QAK -+ */ -+ else /* MPI/POSIX */ -+ BAIL(NC_EPARINIT); -+#endif /* USE_PARALLEL_POSIX */ - - /* Keep copies of the MPI Comm & Info objects */ - if (MPI_SUCCESS != MPI_Comm_dup(comm, &nc4_info->comm)) -@@ -2640,6 +2669,17 @@ NC4_open(const char *path, int mode, int basepe, size_t *chunksizehintp, - (mode & NC_MPIIO && mode & NC_MPIPOSIX)) - return NC_EINVAL; - -+#ifndef USE_PARALLEL_POSIX -+/* If the HDF5 library has been compiled without the MPI-POSIX VFD, alias -+ * the NC_MPIPOSIX flag to NC_MPIIO. -QAK -+ */ -+ if(mode & NC_MPIPOSIX) -+ { -+ mode &= ~NC_MPIPOSIX; -+ mode |= NC_MPIIO; -+ } -+#endif /* USE_PARALLEL_POSIX */ -+ - - /* Depending on the type of file, open it. */ - -diff --git a/nc_test4/tst_nc4perf.c b/nc_test4/tst_nc4perf.c -index 47af70e..3528b82 100644 ---- a/nc_test4/tst_nc4perf.c -+++ b/nc_test4/tst_nc4perf.c -@@ -244,6 +244,11 @@ int test_pio_4d(size_t cache_size, int facc_type, int access_flag, MPI_Comm comm - return 0; - } - -+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX -+ * flag will be aliased to the NC_MPIIO flag within the library, and -+ * therefore this test will exercise the aliasing, with the MPI-IO VFD, -+ * under that configuration. -QAK -+ */ - #define NUM_MODES 2 - #define NUM_FACC 2 - #define NUM_CHUNK_COMBOS_2D 3 -diff --git a/nc_test4/tst_parallel3.c b/nc_test4/tst_parallel3.c -index 27f9c98..9fa534f 100644 ---- a/nc_test4/tst_parallel3.c -+++ b/nc_test4/tst_parallel3.c -@@ -129,6 +129,11 @@ int main(int argc, char **argv) - if (mpi_rank == 0) - SUMMARIZE_ERR; - -+/* Note: When the MPI-POSIX VFD is not compiled in to HDF5, the NC_MPIPOSIX -+ * flag will be aliased to the NC_MPIIO flag within the library, and -+ * therefore this test will exercise the aliasing, with the MPI-IO VFD, -+ * under that configuration. -QAK -+ */ - if (mpi_rank == 0) - printf("*** Testing parallel IO for raw-data with MPIPOSIX-IO (driver)..."); - facc_type = NC_NETCDF4|NC_MPIPOSIX; diff --git a/netcdf.spec b/netcdf.spec index e61ceb2..bc50b8b 100644 --- a/netcdf.spec +++ b/netcdf.spec @@ -1,18 +1,16 @@ Name: netcdf -Version: 4.3.2 -Release: 7%{?dist} +Version: 4.3.3 +Release: 1%{?dist} Summary: Libraries for the Unidata network Common Data Form Group: Applications/Engineering License: NetCDF URL: http://www.unidata.ucar.edu/software/netcdf/ # Use github tarball - the unidata download is missing files -Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -#Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-%{version}.tar.gz +#Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: http://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-%{version}.tar.gz # Use pkgconfig in nc-config to avoid multi-lib issues Patch0: netcdf-pkgconfig.patch -# Upstream patch to support hdf5 1.8.13 mpio change -Patch1: netcdf-mpio.patch BuildRequires: chrpath BuildRequires: doxygen @@ -188,9 +186,8 @@ NetCDF parallel openmpi static libraries %prep -%setup -q -n %{name}-c-%{version} +%setup -q %patch0 -p1 -b .pkgconfig -%patch1 -p1 -b .mpio %build @@ -290,6 +287,8 @@ done %doc examples %{_bindir}/nc-config %{_includedir}/netcdf.h +%{_includedir}/netcdf_meta.h +%{_libdir}/libnetcdf.settings %{_libdir}/*.so %{_libdir}/pkgconfig/netcdf.pc %{_mandir}/man3/* @@ -310,6 +309,7 @@ done %files mpich-devel %{_libdir}/mpich/bin/nc-config %{_includedir}/mpich-%{_arch} +%{_libdir}/mpich/lib/libnetcdf.settings %{_libdir}/mpich/lib/*.so %{_libdir}/mpich/lib/pkgconfig/%{name}.pc %doc %{_libdir}/mpich/share/man/man3/*.3* @@ -331,6 +331,7 @@ done %files openmpi-devel %{_libdir}/openmpi/bin/nc-config %{_includedir}/openmpi-%{_arch} +%{_libdir}/openmpi/lib/libnetcdf.settings %{_libdir}/openmpi/lib/*.so %{_libdir}/openmpi/lib/pkgconfig/%{name}.pc %doc %{_libdir}/openmpi/share/man/man3/*.3* @@ -341,6 +342,9 @@ done %changelog +* Fri Feb 13 2015 Orion Poplawski - 4.3.3-1 +- Update to 4.3.3 + * Tue Jan 27 2015 Orion Poplawski - 4.3.2-7 - Fix up provides/requires for mpi packages, use %%{?_isa}. diff --git a/sources b/sources index e563d27..4cace3a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6d0a2a1e2bd854390062f4a808dd94c4 netcdf-4.3.2.tar.gz +5fbd0e108a54bd82cb5702a73f56d2ae netcdf-4.3.3.tar.gz