Compare commits

...

22 Commits

Author SHA1 Message Date
Fedora Release Engineering 8e628e1519 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:24:35 +00:00
Orion Poplawski 8a6aa5bac4 Build with libzstd-devel 2022-06-27 21:50:54 -06:00
Orion Poplawski 45acd5522f Update to 4.9.0
Make -Wl,--as-needed work
2022-06-26 19:19:26 -06:00
Fedora Release Engineering a9504649d7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 21:03:02 +00:00
Orion Poplawski 08b2acc08b Rebuild for hdf5 1.12.1 2021-11-20 21:43:04 -07:00
Orion Poplawski b8e22189c3 Update to 4.8.1 2021-08-24 20:17:39 -06:00
Orion Poplawski 2c669adb34 Exclude mpi tests on armv7hl due to hanging test 2021-08-10 19:39:44 -06:00
Orion Poplawski a330f0447a Ignore failing tests on 32-bit arches 2021-08-10 17:38:32 -06:00
Orion Poplawski aeeda3c0d3 Update to 4.8.0 2021-08-09 19:49:25 -06:00
Fedora Release Engineering 93865f9075 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 15:59:16 +00:00
Orion Poplawski d574cca888 Remove UCX workaround - fixed with ucx 1.9.0 2021-02-17 20:18:53 -07:00
Fedora Release Engineering 0221423ce7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:22:57 +00:00
Tom Stellard 9903c3be70 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 05:38:21 +00:00
Jeff Law 362e06ef13 - Use -fno-strict-aliasing as nxc.c is not strict-aliasing safe 2020-12-15 20:22:44 -07:00
Orion Poplawski 3c82fb3732 Work around UCX segfault issue (FTBFS bz#1864189) 2020-09-06 20:07:24 -06:00
Fedora Release Engineering a2d3bce73f - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 04:38:59 +00:00
Fedora Release Engineering 403cf4ea05 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 09:00:52 +00:00
Orion Poplawski b70e1820f4 Update to 4.7.3 2020-06-26 21:22:00 -06:00
Orion Poplawski 8bcf8002fd Disable mpi tests on s390x for now 2020-06-25 17:50:46 -06:00
Orion Poplawski b04e053c87 Fix setting MPI compiler 2020-06-25 15:37:53 -06:00
Orion Poplawski 70be355af6 Rebuild for hdf5 1.10.6 2020-06-25 14:25:03 -06:00
Fedora Release Engineering e56f5ba395 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:48:08 +00:00
4 changed files with 239 additions and 16 deletions

4
.gitignore vendored
View File

@ -18,3 +18,7 @@ netcdf-4.1.1.tar.gz
/netcdf-4.6.2.1.tar.gz
/netcdf-4.6.3.tar.gz
/netcdf-4.7.0.tar.gz
/netcdf-4.7.3.tar.gz
/netcdf-4.8.0.tar.gz
/netcdf-4.8.1.tar.gz
/netcdf-4.9.0.tar.gz

107
netcdf-plugin.patch Normal file
View File

@ -0,0 +1,107 @@
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index 777495ff..bed4bec6 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -5,7 +5,7 @@
include $(top_srcdir)/lib_flags.am
AM_LDFLAGS += -module -avoid-version -shared -export-dynamic \
- -rpath ${abs_builddir} ${NOUNDEFINED}
+ ${NOUNDEFINED}
# Create an alternate directory if not installing or for noinst installs.
ALTPLUGINDIR = ${abs_top_builddir}/plugins/plugindir
@@ -19,17 +19,6 @@ endif
plugin_LTLIBRARIES =
-# Apparently one cannot have plugin_LTLIBRARIES and also noinst_LTLIBRARIES.
-# So create a tmp location for "noinst" shared libraries.
-tmpdir = ${ALTPLUGINDIR}
-
-tmp_LTLIBRARIES =
-
-# This linker flag specifies libtool version info.
-# See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning
-# for information regarding incrementing `-version-info`.
-plugin_version_info = -version-info 0:0:0
-
if ISMINGW
LDADD = ${top_builddir}/liblib/libnetcdf.la
endif
@@ -55,15 +44,10 @@ lib__nch5shuffle_la_SOURCES = H5Zshuffle.c
lib__nch5fletcher32_la_SOURCES = H5Zfletcher32.c H5checksum.c
lib__nch5deflate_la_SOURCES = H5Zdeflate.c
-lib__nch5shuffle_la_LDFLAGS = ${plugin_version_info}
-lib__nch5deflate_la_LDFLAGS = ${plugin_version_info}
-lib__nch5fletcher32_la_LDFLAGS = ${plugin_version_info}
-
# Need our version of szip if libsz available and we are not using HDF5
if HAVE_SZ
plugin_LTLIBRARIES += lib__nch5szip.la
lib__nch5szip_la_SOURCES = H5Zszip.c H5Zszip.h
-lib__nch5szip_la_LDFLAGS = ${plugin_version_info}
endif
endif # ENABLE_NCZARR_FILTERS
@@ -72,20 +56,20 @@ if ENABLE_PLUGINS
# The NCZarr codec libraries
lib__nczstdfilters_la_SOURCES = NCZstdfilters.c
+lib__nczstdfilters_la_LIBADD = ${top_builddir}/liblib/libnetcdf.la
lib__nczhdf5filters_la_SOURCES = NCZhdf5filters.c
+lib__nczhdf5filters_la_LIBADD = ${top_builddir}/liblib/libnetcdf.la
plugin_LTLIBRARIES += lib__nczhdf5filters.la
plugin_LTLIBRARIES += lib__nczstdfilters.la
if HAVE_BLOSC
lib__nch5blosc_la_SOURCES = H5Zblosc.c H5Zblosc.h
-lib__nch5blosc_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5blosc.la
endif
if HAVE_ZSTD
lib__nch5zstd_la_SOURCES = H5Zzstd.c H5Zzstd.h
-lib__nch5zstd_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5zstd.la
endif
@@ -95,20 +79,22 @@ endif #ENABLE_PLUGINS
# Need two distinct instances
lib__nch5noop_la_SOURCES = H5Znoop.c H5Zutil.c h5noop.h
lib__nch5noop1_la_SOURCES = H5Znoop1.c H5Zutil.c h5noop.h
-lib__nch5noop_la_LDFLAGS = ${plugin_version_info}
-lib__nch5noop1_la_LDFLAGS = ${plugin_version_info}
# The misc filter is to allow testing of filter arguments
lib__nch5misc_la_SOURCES = H5Zmisc.c H5Zutil.c h5misc.h
-lib__nch5misc_la_LDFLAGS = ${plugin_version_info}
lib__nczmisc_la_SOURCES = NCZmisc.c
-lib__nczmisc_la_LDFLAGS = ${plugin_version_info}
# Provide a filter to test missing filter
lib__nch5unknown_la_SOURCES = H5Zunknown.c
-lib__nch5unknown_la_LDFLAGS = ${plugin_version_info}
-tmp_LTLIBRARIES += lib__nch5noop.la lib__nch5noop1.la lib__nch5misc.la lib__nczmisc.la lib__nch5unknown.la
+# These libraries are needed only for testing, so we will remove them from the install location
+# via install-data-hook below. This seems to be the simplest method to get libtool to build
+# a local shared library.
+CHECKLIBS = lib__nch5noop.la lib__nch5noop1.la lib__nch5misc.la lib__nczmisc.la lib__nch5unknown.la
+plugin_LTLIBRARIES += ${CHECKLIBS}
+
+install-data-hook:
+ cd $(DESTDIR)$(plugindir) && rm -f $(CHECKLIBS) $(CHECKLIBS:.la=.so)
# Bzip2 is used to test more complex filters
lib__nch5bzip2_la_SOURCES = H5Zbzip2.c h5bzip2.h
@@ -117,7 +103,6 @@ EXTRA_DIST += ${BZIP2SRC} BZIP2_LICENSE
if HAVE_LOCAL_BZ2
lib__nch5bzip2_la_SOURCES += ${BZIP2SRC}
endif
-lib__nch5bzip2_la_LDFLAGS = ${plugin_version_info}
plugin_LTLIBRARIES += lib__nch5bzip2.la
endif #ENABLE_FILTER_TESTING

View File

@ -1,19 +1,27 @@
%global sover 19
Name: netcdf
Version: 4.7.0
Release: 2%{?dist}
Version: 4.9.0
Release: 3%{?dist}
Summary: Libraries for the Unidata network Common Data Form
License: NetCDF
URL: http://www.unidata.ucar.edu/software/netcdf/
Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source0: https://github.com/Unidata/netcdf-c/archive/v%{version}/%{name}-%{version}.tar.gz
# Fix plugins - https://github.com/Unidata/netcdf-c/pull/2431
Patch0: netcdf-plugin.patch
BuildRequires: libtool
BuildRequires: make
BuildRequires: chrpath
BuildRequires: doxygen
BuildRequires: blosc-devel
BuildRequires: hdf-static
BuildRequires: hdf5-devel
BuildRequires: gawk
BuildRequires: libcurl-devel
BuildRequires: libxml2-devel
BuildRequires: libzstd-devel
BuildRequires: m4
BuildRequires: zlib-devel
%ifarch %{valgrind_arches}
@ -26,12 +34,6 @@ Requires: hdf5%{?_isa} = %{_hdf5_version}
%global with_mpich 1
%global with_openmpi 1
%if 0%{?rhel} && 0%{?rhel} <= 6
%ifarch ppc64
# No mpich on ppc64 in EL6
%global with_mpich 0
%endif
%endif
%if %{with_mpich}
%global mpi_list mpich
@ -163,6 +165,8 @@ NetCDF parallel openmpi static libraries
%prep
%autosetup -p1 -n %{name}-c-%{version}
# For Patch0
./bootstrap
%build
@ -170,12 +174,13 @@ NetCDF parallel openmpi static libraries
%global _configure ../configure
#Common configure options
export LDFLAGS="%{__global_ldflags} -L%{_libdir}/hdf"
export CFLAGS="%{optflags} -fno-strict-aliasing"
%global configure_opts \\\
--enable-shared \\\
--enable-netcdf-4 \\\
--enable-dap \\\
--enable-extra-example-tests \\\
CPPFLAGS=-I%{_includedir}/hdf \\\
CPPFLAGS="-I%{_includedir}/hdf -DH5_USE_110_API" \\\
LIBS="-ltirpc" \\\
--enable-hdf4 \\\
--disable-dap-remote-tests \\\
@ -185,12 +190,18 @@ export LDFLAGS="%{__global_ldflags} -L%{_libdir}/hdf"
mkdir build
pushd build
ln -s ../configure .
%configure %{configure_opts}
%configure %{configure_opts} \
--with-plugin-dir=%{_libdir}/hdf5/plugin
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
popd
# MPI builds
export CC=mpicc
for mpi in %{mpi_list}
do
mkdir $mpi
@ -199,13 +210,21 @@ do
ln -s ../configure .
# parallel tests hang on s390(x)
%configure %{configure_opts} \
CC=mpicc \
--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 \
--with-plugin-dir=%{_libdir}/$mpi/hdf5/plugin \
--enable-parallel-tests
# Get rid of undesirable hardcoded rpaths; workaround libtool reordering
# -Wl,--as-needed after all the libraries.
sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \
-e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \
-e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \
-i libtool
%make_build
module purge
popd
@ -229,16 +248,27 @@ done
%check
# Set to 1 to fail if tests fail
%ifarch %{ix86} s390x
# tst_filter fails on s390x
# https://github.com/Unidata/netcdf-c/issues/1338
# i686 - Testing parallel I/O with zlib compression...malloc(): invalid size (unsorted)
# https://github.com/Unidata/netcdf-c/issues/1685
fail=0
%else
fail=1
%endif
make -C build check || ( cat build/*/test-suite.log && exit $fail )
# Allow openmpi to run with more processes than cores
export OMPI_MCA_rmaps_base_oversubscribe=1
# openmpi test hangs on armv7hl in h5_test after tst_h_rename
%ifnarch armv7hl
for mpi in %{mpi_list}
do
module load mpi/$mpi-%{_arch}
make -C $mpi check || ( cat $mpi/*/test-suite.log && exit $fail )
module purge
done
%endif
%ldconfig_scriptlets
@ -251,7 +281,18 @@ done
%{_bindir}/ncdump
%{_bindir}/ncgen
%{_bindir}/ncgen3
%{_libdir}/*.so.15*
%{_bindir}/nc4print
%{_bindir}/ocprint
%{_libdir}/hdf5/plugin/lib__nch5deflate.so
%{_libdir}/hdf5/plugin/lib__nch5shuffle.so
%{_libdir}/hdf5/plugin/lib__nch5bzip2.so
%{_libdir}/hdf5/plugin/lib__nch5zstd.so
%{_libdir}/hdf5/plugin/lib__nch5szip.so
%{_libdir}/hdf5/plugin/lib__nczhdf5filters.so
%{_libdir}/hdf5/plugin/lib__nczstdfilters.so
%{_libdir}/hdf5/plugin/lib__nch5fletcher32.so
%{_libdir}/hdf5/plugin/lib__nch5blosc.so
%{_libdir}/*.so.%{sover}*
%{_mandir}/man1/*
%files devel
@ -259,7 +300,11 @@ done
%{_bindir}/nc-config
%{_includedir}/netcdf.h
%{_includedir}/netcdf_aux.h
%{_includedir}/netcdf_dispatch.h
%{_includedir}/netcdf_filter.h
%{_includedir}/netcdf_filter_build.h
%{_includedir}/netcdf_filter_hdf5_build.h
%{_includedir}/netcdf_json.h
%{_includedir}/netcdf_meta.h
%{_includedir}/netcdf_mem.h
%{_libdir}/libnetcdf.settings
@ -278,14 +323,21 @@ done
%{_libdir}/mpich/bin/ncdump
%{_libdir}/mpich/bin/ncgen
%{_libdir}/mpich/bin/ncgen3
%{_libdir}/mpich/lib/*.so.15*
%{_libdir}/mpich/bin/nc4print
%{_libdir}/mpich/bin/ocprint
%{_libdir}/mpich/hdf5/plugin/*
%{_libdir}/mpich/lib/*.so.%{sover}*
%doc %{_libdir}/mpich/share/man/man1/*.1*
%files mpich-devel
%{_libdir}/mpich/bin/nc-config
%{_includedir}/mpich-%{_arch}/netcdf.h
%{_includedir}/mpich-%{_arch}/netcdf_aux.h
%{_includedir}/mpich-%{_arch}/netcdf_dispatch.h
%{_includedir}/mpich-%{_arch}/netcdf_filter.h
%{_includedir}/mpich-%{_arch}/netcdf_filter_build.h
%{_includedir}/mpich-%{_arch}/netcdf_filter_hdf5_build.h
%{_includedir}/mpich-%{_arch}/netcdf_json.h
%{_includedir}/mpich-%{_arch}/netcdf_meta.h
%{_includedir}/mpich-%{_arch}/netcdf_mem.h
%{_includedir}/mpich-%{_arch}/netcdf_par.h
@ -306,14 +358,21 @@ done
%{_libdir}/openmpi/bin/ncdump
%{_libdir}/openmpi/bin/ncgen
%{_libdir}/openmpi/bin/ncgen3
%{_libdir}/openmpi/lib/*.so.15*
%{_libdir}/openmpi/bin/nc4print
%{_libdir}/openmpi/bin/ocprint
%{_libdir}/openmpi/hdf5/plugin/*
%{_libdir}/openmpi/lib/*.so.%{sover}*
%doc %{_libdir}/openmpi/share/man/man1/*.1*
%files openmpi-devel
%{_libdir}/openmpi/bin/nc-config
%{_includedir}/openmpi-%{_arch}/netcdf.h
%{_includedir}/openmpi-%{_arch}/netcdf_aux.h
%{_includedir}/openmpi-%{_arch}/netcdf_dispatch.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter_build.h
%{_includedir}/openmpi-%{_arch}/netcdf_filter_hdf5_build.h
%{_includedir}/openmpi-%{_arch}/netcdf_json.h
%{_includedir}/openmpi-%{_arch}/netcdf_meta.h
%{_includedir}/openmpi-%{_arch}/netcdf_mem.h
%{_includedir}/openmpi-%{_arch}/netcdf_par.h
@ -328,6 +387,59 @@ done
%changelog
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.9.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Tue Jun 28 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-2
- Build with libzstd-devel
* Sun Jun 26 2022 Orion Poplawski <orion@nwra.com> - 4.9.0-1
- Update to 4.9.0
- Make -Wl,--as-needed work
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.8.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Nov 21 2021 Orion Poplawski <orion@nwra.com> - 4.8.1-2
- Rebuild for hdf5 1.12.1
* Tue Aug 24 2021 Orion Poplawski <orion@nwra.com> - 4.8.1-1
- Update to 4.8.1
* Mon Aug 09 2021 Orion Poplawski <orion@nwra.com> - 4.8.0-1
- Update to 4.8.0
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Thu Feb 18 2021 Orion Poplawski <orion@nwra.com> - 4.7.3-7
- Remove UCX workaround - fixed with ucx 1.9.0
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 15 2020 Jeff Law <law@redhat.com> - 4.7.3-5
- Use -fno-strict-aliasing as nxc.c is not strict-aliasing safe
* Sun Sep 6 2020 Orion Poplawski <orion@nwra.com> - 4.7.3-4
- Work around UCX segfault issue (FTBFS bz#1864189)
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-3
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jun 26 2020 Orion Poplawski <orion@nwra.com> - 4.7.3-1
- Update to 4.7.3
* Thu Jun 25 2020 Orion Poplawski <orion@cora.nwra.com> - 4.7.0-4
- Rebuild for hdf5 1.10.6
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 4.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (netcdf-4.7.0.tar.gz) = 6602799780105c60ac8c873ed4055c1512dc8bebf98de01e1cce572d113ffb3bf3ca522475b93255c415340f672c55dc6785e0bdbcc39055314683da1d02141a
SHA512 (netcdf-4.9.0.tar.gz) = 62cb593b99a6e9c56426175d141907572d3974de8dc39549c85337acf410539f9b7dcd9a375808e271da1d0dc93fce7586b955eddd2bb45901d9cc48a72db705