Merge commit 'd5f12e3cd6cb56be3c99c8b3e0b8448d5a3165b2' into epel7
Conflicts: netcdf.spec
This commit is contained in:
commit
4ecc4b2557
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,3 +10,5 @@ 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
|
||||
/netcdf-4.3.3.1.tar.gz
|
||||
|
@ -1,122 +0,0 @@
|
||||
commit 435d8a03ed28bb5ad63aff12cbc6ab91531b6bc8
|
||||
Author: Quincey Koziol <quincey@koziol.cc>
|
||||
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;
|
80
netcdf.spec
80
netcdf.spec
@ -1,5 +1,5 @@
|
||||
Name: netcdf
|
||||
Version: 4.3.2
|
||||
Version: 4.3.3.1
|
||||
Release: 4%{?dist}
|
||||
Summary: Libraries for the Unidata network Common Data Form
|
||||
|
||||
@ -7,12 +7,10 @@ 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
|
||||
@ -28,11 +26,16 @@ BuildRequires: valgrind
|
||||
#mpiexec segfaults if ssh is not present
|
||||
#https://trac.mcs.anl.gov/projects/mpich2/ticket/1576
|
||||
BuildRequires: openssh-clients
|
||||
Requires: hdf5 = %{_hdf5_version}
|
||||
Requires: hdf5%{?_isa} = %{_hdf5_version}
|
||||
|
||||
# Don't let mpi versions provide libraries
|
||||
%global __provides_exclude_from ^%{_libdir}/(mpich|openmpi)
|
||||
# Don't require hdf5 library, might be mpi, use explicit requires
|
||||
%global __requires_exclude ^libhdf5
|
||||
|
||||
%global with_mpich 1
|
||||
%global with_openmpi 1
|
||||
%if 0%{?rhel} <= 6
|
||||
%if 0%{?rhel} && 0%{?rhel} <= 6 || 0%{?fedora} && 0%{?fedora} < 20
|
||||
%ifarch ppc64
|
||||
# No mpich on ppc64 in EL6
|
||||
%global with_mpich 0
|
||||
@ -85,10 +88,10 @@ NetCDF data is:
|
||||
%package devel
|
||||
Summary: Development files for netcdf
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: pkgconfig
|
||||
Requires: hdf5-devel
|
||||
Requires: libcurl-devel
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: pkgconfig%{?_isa}
|
||||
Requires: hdf5-devel%{?_isa}
|
||||
Requires: libcurl-devel%{?_isa}
|
||||
|
||||
%description devel
|
||||
This package contains the netCDF C header files, shared devel libs, and
|
||||
@ -98,7 +101,7 @@ man pages.
|
||||
%package static
|
||||
Summary: Static libs for netcdf
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
%description static
|
||||
This package contains the netCDF C static libs.
|
||||
@ -108,7 +111,8 @@ This package contains the netCDF C static libs.
|
||||
%package mpich
|
||||
Summary: NetCDF mpich libraries
|
||||
Group: Development/Libraries
|
||||
Requires: mpich
|
||||
Requires: mpich%{?_isa}
|
||||
Requires: hdf5-mpich%{?_isa} = %{_hdf5_version}
|
||||
BuildRequires: mpich-devel
|
||||
BuildRequires: hdf5-mpich-devel >= 1.8.4
|
||||
|
||||
@ -120,10 +124,10 @@ NetCDF parallel mpich libraries
|
||||
Summary: NetCDF mpich development files
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-mpich%{?_isa} = %{version}-%{release}
|
||||
Requires: mpich
|
||||
Requires: pkgconfig
|
||||
Requires: hdf5-mpich-devel
|
||||
Requires: libcurl-devel
|
||||
Requires: mpich%{?_isa}
|
||||
Requires: pkgconfig%{?_isa}
|
||||
Requires: hdf5-mpich-devel%{?_isa}
|
||||
Requires: libcurl-devel%{?_isa}
|
||||
|
||||
%description mpich-devel
|
||||
NetCDF parallel mpich development files
|
||||
@ -143,7 +147,8 @@ NetCDF parallel mpich static libraries
|
||||
%package openmpi
|
||||
Summary: NetCDF openmpi libraries
|
||||
Group: Development/Libraries
|
||||
Requires: openmpi
|
||||
Requires: openmpi%{?_isa}
|
||||
Requires: hdf5-openmpi%{?_isa} = %{_hdf5_version}
|
||||
BuildRequires: openmpi-devel
|
||||
BuildRequires: hdf5-openmpi-devel >= 1.8.4
|
||||
|
||||
@ -155,10 +160,10 @@ NetCDF parallel openmpi libraries
|
||||
Summary: NetCDF openmpi development files
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}-openmpi%{_isa} = %{version}-%{release}
|
||||
Requires: openmpi-devel
|
||||
Requires: pkgconfig
|
||||
Requires: hdf5-openmpi-devel
|
||||
Requires: libcurl-devel
|
||||
Requires: openmpi-devel%{?_isa}
|
||||
Requires: pkgconfig%{?_isa}
|
||||
Requires: hdf5-openmpi-devel%{?_isa}
|
||||
Requires: libcurl-devel%{?_isa}
|
||||
|
||||
%description openmpi-devel
|
||||
NetCDF parallel openmpi development files
|
||||
@ -175,9 +180,8 @@ NetCDF parallel openmpi static libraries
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-c-%{version}
|
||||
%setup -q
|
||||
%patch0 -p1 -b .pkgconfig
|
||||
%patch1 -p1 -b .mpio
|
||||
|
||||
|
||||
%build
|
||||
@ -277,6 +281,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/*
|
||||
@ -297,6 +303,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*
|
||||
@ -318,6 +325,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*
|
||||
@ -328,6 +336,30 @@ done
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jul 29 2015 Karsten Hopp <karsten@redhat.com> 4.3.3.1-4
|
||||
- mpich is available on ppc64 now
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.3.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sun May 17 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.3.1-2
|
||||
- Rebuild for hdf5 1.8.15
|
||||
|
||||
* Wed Mar 11 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.3.1-1
|
||||
- Update to 4.3.3.1
|
||||
|
||||
* Fri Feb 13 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.3-1
|
||||
- Update to 4.3.3
|
||||
|
||||
* Tue Jan 27 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.2-7
|
||||
- Fix up provides/requires for mpi packages, use %%{?_isa}.
|
||||
|
||||
* Wed Jan 07 2015 Orion Poplawski <orion@cora.nwra.com> - 4.3.2-6
|
||||
- Rebuild for hdf5 1.8.14
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.2-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Thu Jul 24 2014 Jakub Čajka <jcajka@redhat.com> - 4.3.2-4
|
||||
- Enabled tests on s390
|
||||
- Disabled parallel tests on s390(x) as they hang
|
||||
|
Loading…
Reference in New Issue
Block a user