|
|
@ -1,6 +1,6 @@
|
|
|
|
Name: netcdf
|
|
|
|
Name: netcdf
|
|
|
|
Version: 4.2
|
|
|
|
Version: 4.2
|
|
|
|
Release: 0.2.rc2%{?dist}
|
|
|
|
Release: 0.3.rc2%{?dist}
|
|
|
|
Summary: Libraries for the Unidata network Common Data Form
|
|
|
|
Summary: Libraries for the Unidata network Common Data Form
|
|
|
|
|
|
|
|
|
|
|
|
Group: Applications/Engineering
|
|
|
|
Group: Applications/Engineering
|
|
|
@ -23,20 +23,30 @@ BuildRequires: zlib-devel
|
|
|
|
%ifnarch s390 s390x %{arm}
|
|
|
|
%ifnarch s390 s390x %{arm}
|
|
|
|
BuildRequires: valgrind
|
|
|
|
BuildRequires: valgrind
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
#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 = %{_hdf5_version}
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
%global with_mpich2 1
|
|
|
|
Summary: Development files for netcdf
|
|
|
|
%global with_openmpi 1
|
|
|
|
Group: Development/Libraries
|
|
|
|
%if 0%{?rhel}
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%ifarch ppc64
|
|
|
|
Requires: pkgconfig
|
|
|
|
# No mpich2 on ppc64 in EL
|
|
|
|
Requires: hdf5-devel
|
|
|
|
%global with_mpich2 0
|
|
|
|
Requires: libcurl-devel
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%ifarch s390 s390x
|
|
|
|
|
|
|
|
# No openmpi on s390(x)
|
|
|
|
|
|
|
|
%global with_openmpi 0
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%package static
|
|
|
|
%if %{with_mpich2}
|
|
|
|
Summary: Static libs for netcdf
|
|
|
|
%global mpi_list mpich2
|
|
|
|
Group: Development/Libraries
|
|
|
|
%endif
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
%if %{with_openmpi}
|
|
|
|
|
|
|
|
%global mpi_list %{?mpi_list} openmpi
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
%description
|
|
|
|
NetCDF (network Common Data Form) is an interface for array-oriented
|
|
|
|
NetCDF (network Common Data Form) is an interface for array-oriented
|
|
|
@ -69,14 +79,99 @@ NetCDF data is:
|
|
|
|
o Sharable: One writer and multiple readers may simultaneously
|
|
|
|
o Sharable: One writer and multiple readers may simultaneously
|
|
|
|
access the same NetCDF file.
|
|
|
|
access the same NetCDF file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
|
|
|
|
Summary: Development files for netcdf
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
|
|
|
Requires: pkgconfig
|
|
|
|
|
|
|
|
Requires: hdf5-devel
|
|
|
|
|
|
|
|
Requires: libcurl-devel
|
|
|
|
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
%description devel
|
|
|
|
This package contains the netCDF C header files, shared devel libs, and
|
|
|
|
This package contains the netCDF C header files, shared devel libs, and
|
|
|
|
man pages.
|
|
|
|
man pages.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package static
|
|
|
|
|
|
|
|
Summary: Static libs for netcdf
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
|
|
%description static
|
|
|
|
%description static
|
|
|
|
This package contains the netCDF C static libs.
|
|
|
|
This package contains the netCDF C static libs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_mpich2}
|
|
|
|
|
|
|
|
%package mpich2
|
|
|
|
|
|
|
|
Summary: NetCDF mpich2 libraries
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: mpich2
|
|
|
|
|
|
|
|
BuildRequires: mpich2-devel
|
|
|
|
|
|
|
|
BuildRequires: hdf5-mpich2-devel >= 1.8.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description mpich2
|
|
|
|
|
|
|
|
NetCDF parallel mpich2 libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package mpich2-devel
|
|
|
|
|
|
|
|
Summary: NetCDF mpich2 development files
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: %{name}-mpich2%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
Requires: mpich2
|
|
|
|
|
|
|
|
Requires: pkgconfig
|
|
|
|
|
|
|
|
Requires: hdf5-mpich2-devel
|
|
|
|
|
|
|
|
Requires: libcurl-devel
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description mpich2-devel
|
|
|
|
|
|
|
|
NetCDF parallel mpich2 development files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package mpich2-static
|
|
|
|
|
|
|
|
Summary: NetCDF mpich2 static libraries
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: %{name}-mpich2-devel%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description mpich2-static
|
|
|
|
|
|
|
|
NetCDF parallel mpich2 static libraries
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_openmpi}
|
|
|
|
|
|
|
|
%package openmpi
|
|
|
|
|
|
|
|
Summary: NetCDF openmpi libraries
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: openmpi
|
|
|
|
|
|
|
|
BuildRequires: openmpi-devel
|
|
|
|
|
|
|
|
BuildRequires: hdf5-openmpi-devel >= 1.8.4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description openmpi
|
|
|
|
|
|
|
|
NetCDF parallel openmpi libraries
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package openmpi-devel
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description openmpi-devel
|
|
|
|
|
|
|
|
NetCDF parallel openmpi development files
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package openmpi-static
|
|
|
|
|
|
|
|
Summary: NetCDF openmpi static libraries
|
|
|
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
|
|
|
Requires: %{name}-openmpi-devel%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%description openmpi-static
|
|
|
|
|
|
|
|
NetCDF parallel openmpi static libraries
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%prep
|
|
|
|
%setup -q -n %{name}-%{version}-rc2
|
|
|
|
%setup -q -n %{name}-%{version}-rc2
|
|
|
|
%patch0 -p1 -b .pkgconfig
|
|
|
|
%patch0 -p1 -b .pkgconfig
|
|
|
@ -84,23 +179,70 @@ This package contains the netCDF C static libs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
%build
|
|
|
|
%configure \
|
|
|
|
#Do out of tree builds
|
|
|
|
--enable-shared \
|
|
|
|
%global _configure ../configure
|
|
|
|
--enable-netcdf-4 \
|
|
|
|
#Common configure options
|
|
|
|
--enable-dap \
|
|
|
|
%global configure_opts \\\
|
|
|
|
--enable-extra-example-tests \
|
|
|
|
--enable-shared \\\
|
|
|
|
--disable-dap-remote-tests
|
|
|
|
--enable-netcdf-4 \\\
|
|
|
|
|
|
|
|
--enable-dap \\\
|
|
|
|
|
|
|
|
--enable-extra-example-tests \\\
|
|
|
|
|
|
|
|
--disable-dap-remote-tests \\\
|
|
|
|
|
|
|
|
%{nil}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Serial build
|
|
|
|
|
|
|
|
mkdir build
|
|
|
|
|
|
|
|
pushd build
|
|
|
|
|
|
|
|
ln -s ../configure .
|
|
|
|
|
|
|
|
%configure %{configure_opts}
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# MPI builds
|
|
|
|
|
|
|
|
export CC=mpicc
|
|
|
|
|
|
|
|
for mpi in %{mpi_list}
|
|
|
|
|
|
|
|
do
|
|
|
|
|
|
|
|
mkdir $mpi
|
|
|
|
|
|
|
|
pushd $mpi
|
|
|
|
|
|
|
|
module load $mpi-%{_arch}
|
|
|
|
|
|
|
|
ln -s ../configure .
|
|
|
|
|
|
|
|
%configure %{configure_opts} \
|
|
|
|
|
|
|
|
--libdir=%{_libdir}/$mpi/lib \
|
|
|
|
|
|
|
|
--bindir=%{_libdir}/$mpi/bin \
|
|
|
|
|
|
|
|
--sbindir=%{_libdir}/$mpi/sbin \
|
|
|
|
|
|
|
|
--includedir=%{_includedir}/$mpi-%{_arch} \
|
|
|
|
|
|
|
|
--datarootdir=%{_libdir}/$mpi/share \
|
|
|
|
|
|
|
|
--mandir=%{_libdir}/$mpi/share/man \
|
|
|
|
|
|
|
|
--enable-parallel-tests
|
|
|
|
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
module purge
|
|
|
|
|
|
|
|
popd
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
%install
|
|
|
|
make install DESTDIR=${RPM_BUILD_ROOT}
|
|
|
|
make -C build install DESTDIR=${RPM_BUILD_ROOT}
|
|
|
|
/bin/rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
|
|
|
|
/bin/rm -f ${RPM_BUILD_ROOT}%{_libdir}/*.la
|
|
|
|
chrpath --delete ${RPM_BUILD_ROOT}/%{_bindir}/nc{copy,dump,gen,gen3}
|
|
|
|
chrpath --delete ${RPM_BUILD_ROOT}/%{_bindir}/nc{copy,dump,gen,gen3}
|
|
|
|
|
|
|
|
/bin/rm -f ${RPM_BUILD_ROOT}%{_infodir}/dir
|
|
|
|
|
|
|
|
for mpi in %{mpi_list}
|
|
|
|
|
|
|
|
do
|
|
|
|
|
|
|
|
module load $mpi-%{_arch}
|
|
|
|
|
|
|
|
make -C $mpi install DESTDIR=${RPM_BUILD_ROOT}
|
|
|
|
|
|
|
|
rm $RPM_BUILD_ROOT/%{_libdir}/$mpi/lib/*.la
|
|
|
|
|
|
|
|
chrpath --delete ${RPM_BUILD_ROOT}/%{_libdir}/$mpi/bin/nc{copy,dump,gen,gen3}
|
|
|
|
|
|
|
|
module purge
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
%check
|
|
|
|
make check
|
|
|
|
make -C build check
|
|
|
|
|
|
|
|
for mpi in mpich2 openmpi
|
|
|
|
|
|
|
|
do
|
|
|
|
|
|
|
|
module load $mpi-%{_arch}
|
|
|
|
|
|
|
|
make -C $mpi check
|
|
|
|
|
|
|
|
module purge
|
|
|
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%clean
|
|
|
|
%clean
|
|
|
@ -113,7 +255,6 @@ rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
|
|
|
%doc COPYRIGHT README
|
|
|
|
%doc COPYRIGHT README
|
|
|
|
%{_bindir}/nccopy
|
|
|
|
%{_bindir}/nccopy
|
|
|
|
%{_bindir}/ncdump
|
|
|
|
%{_bindir}/ncdump
|
|
|
@ -123,7 +264,6 @@ rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
%{_mandir}/man1/*
|
|
|
|
%{_mandir}/man1/*
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
%files devel
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
|
|
|
%{_bindir}/nc-config
|
|
|
|
%{_bindir}/nc-config
|
|
|
|
%{_includedir}/netcdf.h
|
|
|
|
%{_includedir}/netcdf.h
|
|
|
|
%{_libdir}/*.so
|
|
|
|
%{_libdir}/*.so
|
|
|
@ -131,11 +271,55 @@ rm -rf ${RPM_BUILD_ROOT}
|
|
|
|
%{_mandir}/man3/*
|
|
|
|
%{_mandir}/man3/*
|
|
|
|
|
|
|
|
|
|
|
|
%files static
|
|
|
|
%files static
|
|
|
|
%defattr(-,root,root,-)
|
|
|
|
|
|
|
|
%{_libdir}/*.a
|
|
|
|
%{_libdir}/*.a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_mpich2}
|
|
|
|
|
|
|
|
%files mpich2
|
|
|
|
|
|
|
|
%doc COPYRIGHT README
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/bin/nccopy
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/bin/ncdump
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/bin/ncgen
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/bin/ncgen3
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/lib/*.so.*
|
|
|
|
|
|
|
|
%doc %{_libdir}/mpich2/share/man/man1/*.1*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files mpich2-devel
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/bin/nc-config
|
|
|
|
|
|
|
|
%{_includedir}/mpich2-%{_arch}
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/lib/*.so
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/lib/pkgconfig/%{name}.pc
|
|
|
|
|
|
|
|
%doc %{_libdir}/mpich2/share/man/man3/*.3*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files mpich2-static
|
|
|
|
|
|
|
|
%{_libdir}/mpich2/lib/*.a
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%if %{with_openmpi}
|
|
|
|
|
|
|
|
%files openmpi
|
|
|
|
|
|
|
|
%doc COPYRIGHT README
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/bin/nccopy
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/bin/ncdump
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/bin/ncgen
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/bin/ncgen3
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/lib/*.so.*
|
|
|
|
|
|
|
|
%doc %{_libdir}/openmpi/share/man/man1/*.1*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files openmpi-devel
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/bin/nc-config
|
|
|
|
|
|
|
|
%{_includedir}/openmpi-%{_arch}
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/lib/*.so
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/lib/pkgconfig/%{name}.pc
|
|
|
|
|
|
|
|
%doc %{_libdir}/openmpi/share/man/man3/*.3*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files openmpi-static
|
|
|
|
|
|
|
|
%{_libdir}/openmpi/lib/*.a
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
%changelog
|
|
|
|
|
|
|
|
* Wed Mar 7 2012 Orion Poplawski <orion@cora.nwra.com> - 4.2-0.3.rc2
|
|
|
|
|
|
|
|
- Enable MPI builds
|
|
|
|
|
|
|
|
|
|
|
|
* Tue Mar 6 2012 Orion Poplawski <orion@cora.nwra.com> - 4.2-0.2.rc2
|
|
|
|
* Tue Mar 6 2012 Orion Poplawski <orion@cora.nwra.com> - 4.2-0.2.rc2
|
|
|
|
- Update to 4.2-rc2
|
|
|
|
- Update to 4.2-rc2
|
|
|
|
- Fortran and C++ APIs are now in separate packages
|
|
|
|
- Fortran and C++ APIs are now in separate packages
|
|
|
|