From 52f67440513f0e72decb4c14cefc547b03efea06 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Thu, 17 Dec 2020 18:38:57 -0800 Subject: [PATCH 01/22] Restores maintainer mode in the autotools (#200) Maintainer mode should be enabled in development branches. Also adds helpful commenting. Add bin/switch_maint_mode Disable maintainer mode for release. Fix incomplete merge for stub functions in H5Fdhdfs.c --- bin/switch_maint_mode | 81 +++++++++++++++++++++++++++++++++++++++++++ configure.ac | 51 +++++++++++++++++++++------ src/H5FDhdfs.c | 8 ++--- 3 files changed, 125 insertions(+), 15 deletions(-) create mode 100755 bin/switch_maint_mode diff --git a/bin/switch_maint_mode b/bin/switch_maint_mode new file mode 100755 index 00000000000..fb1568bdbb6 --- /dev/null +++ b/bin/switch_maint_mode @@ -0,0 +1,81 @@ +#!/bin/sh +# +# Copyright by The HDF Group. +# Copyright by the Board of Trustees of the University of Illinois. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the COPYING file, which can be found at the root of the source code +# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. +# If you do not have access to either file, you may request a copy from +# help@hdfgroup.org. +# +# Switch AM_MAINTAINER_MODE value in configure.ac +# Usage: See USAGE() +# Programmer: Dana Robinson +# Creation date: January 2016 + +USAGE() +{ +cat < + +EOF +} + +MODE="notset" +CONFIG_AC_PATH= + +# Display help/usage if any options were passed in +while [ $# -gt 0 ]; do + case "$1" in + -enable) + MODE="enable" + ;; + -disable) + MODE="disable" + ;; + -help) + USAGE + exit 0 + ;; + *) + CONFIG_AC_PATH="$1" + ;; + esac + shift +done + +# Did we get a file path? +if test -z $CONFIG_AC_PATH ; then + USAGE + exit 1 +fi + +# Did we get a mode? +if test -z $MODE ; then + USAGE + exit 1 +fi + +# Run perl over configure.ac +if test "X-$MODE" = "X-enable" ; then + perl -pi -e 's/^(AM_MAINTAINER_MODE\(\[)([a-z]+)(\]\))/$1enable$3/g' $CONFIG_AC_PATH +fi +if test "X-$MODE" = "X-disable" ; then + perl -pi -e 's/^(AM_MAINTAINER_MODE\(\[)([a-z]+)(\]\))/$1disable$3/g' $CONFIG_AC_PATH +fi + diff --git a/configure.ac b/configure.ac index 8673e2c5b48..d8f4436f9bf 100644 --- a/configure.ac +++ b/configure.ac @@ -36,17 +36,46 @@ AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign]) AM_SILENT_RULES([yes]) -## AM_MAINTAINER_MODE turns off "rebuild rules" that contain dependencies -## for Makefiles, configure, src/H5config.h, etc. If AM_MAINTAINER_MODE -## is *not* included here, these files will be rebuilt if out of date. -## This is a problem because if users try to build on a machine with -## the wrong versions of autoconf and automake, these files will be -## rebuilt with the wrong versions and bad things can happen. -## Also, CVS doesn't preserve dependencies between timestamps, so -## Makefiles will often think rebuilding needs to occur when it doesn't. -## Developers should './configure --enable-maintainer-mode' to turn on -## rebuild rules. -AM_MAINTAINER_MODE +## AM_MAINTAINER_MODE determines the behavior of "rebuild rules" that contain +## dependencies for Makefile.in files, configure, src/H5config.h, etc. If +## AM_MAINTAINER_MODE is enabled, these files will be rebuilt if out of date. +## When disabled, the autotools build files can get out of sync and the build +## system will not complain or try to regenerate downstream files. +## +## The AM_MAINTAINER_MODE macro also determines whether the +## --(enable|disable)-maintainer-mode configure option is available. When the +## macro is present, with or without a parameter, the option will be added +## to the generated configure script. +## +## In summary: +## +## AM_MAINTAINER_MODE([enable]) +## - Build dependencies ON by default +## - Configure option exists +## +## AM_MAINTAINER_MODE([disable]) +## - Build dependencies OFF by default +## - Configure option exists +## +## AM_MAINTAINER_MODE +## - Build dependencies OFF by default +## - Configure option exists +## +## No AM_MAINTAINER_MODE macro +## - Build dependencies ON by default +## - No configure option to control build dependencies +## +## The biggest concern for us is that version control systems like git +## usually don't preserve dependencies between timestamps, so the build +## system will often think that upstream build files like Makefile.am are +## dirty and that rebuilding needs to occur when it doesn't. This is a problem +## in release branches where we provide the autotools-generated files. Users +## who don't have autoconf, automake, etc. will then have difficulty building +## release branches checked out from git. +## +## By default, maintainer mode is enabled in development branches and disabled +## in release branches. +AM_MAINTAINER_MODE([disable]) ## ---------------------------------------------------------------------- ## Set prefix default (install directory) to a directory in the build area. diff --git a/src/H5FDhdfs.c b/src/H5FDhdfs.c index 31e92b80f2f..a481777ef78 100644 --- a/src/H5FDhdfs.c +++ b/src/H5FDhdfs.c @@ -1729,13 +1729,13 @@ H5Pget_fapl_hdfs(hid_t fapl_id, H5FD_hdfs_fapl_t *fa_out) { herr_t ret_value = FAIL; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_API_NOINIT H5TRACE2("e", "i*x", fapl_id, fa_out); HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL, "HDFS VFD not included in the HDF5 library") done: - FUNC_LEAVE_NOAPI(ret_value) + FUNC_LEAVE_API(ret_value) } herr_t @@ -1743,13 +1743,13 @@ H5Pset_fapl_hdfs(hid_t fapl_id, H5FD_hdfs_fapl_t *fa) { herr_t ret_value = FAIL; - FUNC_ENTER_NOAPI_NOINIT + FUNC_ENTER_API_NOINIT H5TRACE2("e", "i*x", fapl_id, fa); HGOTO_ERROR(H5E_VFL, H5E_UNSUPPORTED, FAIL, "HDFS VFD not included in the HDF5 library") done: - FUNC_LEAVE_NOAPI(ret_value) + FUNC_LEAVE_API(ret_value) } #endif /* H5_HAVE_LIBHDFS */ From 9d1999cfaeb5e744a87c814811e647520026816d Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Fri, 18 Dec 2020 11:10:29 -0600 Subject: [PATCH 02/22] Update configure for Restores maintainer mode in the autotools (#200). --- configure | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/configure b/configure index f0d63307949..c5f3bb374b9 100755 --- a/configure +++ b/configure @@ -3764,16 +3764,45 @@ fi AM_BACKSLASH='\' -## AM_MAINTAINER_MODE turns off "rebuild rules" that contain dependencies -## for Makefiles, configure, src/H5config.h, etc. If AM_MAINTAINER_MODE -## is *not* included here, these files will be rebuilt if out of date. -## This is a problem because if users try to build on a machine with -## the wrong versions of autoconf and automake, these files will be -## rebuilt with the wrong versions and bad things can happen. -## Also, CVS doesn't preserve dependencies between timestamps, so -## Makefiles will often think rebuilding needs to occur when it doesn't. -## Developers should './configure --enable-maintainer-mode' to turn on -## rebuild rules. +## AM_MAINTAINER_MODE determines the behavior of "rebuild rules" that contain +## dependencies for Makefile.in files, configure, src/H5config.h, etc. If +## AM_MAINTAINER_MODE is enabled, these files will be rebuilt if out of date. +## When disabled, the autotools build files can get out of sync and the build +## system will not complain or try to regenerate downstream files. +## +## The AM_MAINTAINER_MODE macro also determines whether the +## --(enable|disable)-maintainer-mode configure option is available. When the +## macro is present, with or without a parameter, the option will be added +## to the generated configure script. +## +## In summary: +## +## AM_MAINTAINER_MODE([enable]) +## - Build dependencies ON by default +## - Configure option exists +## +## AM_MAINTAINER_MODE([disable]) +## - Build dependencies OFF by default +## - Configure option exists +## +## AM_MAINTAINER_MODE +## - Build dependencies OFF by default +## - Configure option exists +## +## No AM_MAINTAINER_MODE macro +## - Build dependencies ON by default +## - No configure option to control build dependencies +## +## The biggest concern for us is that version control systems like git +## usually don't preserve dependencies between timestamps, so the build +## system will often think that upstream build files like Makefile.am are +## dirty and that rebuilding needs to occur when it doesn't. This is a problem +## in release branches where we provide the autotools-generated files. Users +## who don't have autoconf, automake, etc. will then have difficulty building +## release branches checked out from git. +## +## By default, maintainer mode is enabled in development branches and disabled +## in release branches. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } From f34233c75f7d675e59342a65d08da41d35b29f99 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Fri, 18 Dec 2020 11:59:02 -0600 Subject: [PATCH 03/22] Update MANIFEST for switch_maint_mode script. --- MANIFEST | 1 + 1 file changed, 1 insertion(+) diff --git a/MANIFEST b/MANIFEST index bc1e44dcde8..1abe835888d 100644 --- a/MANIFEST +++ b/MANIFEST @@ -97,6 +97,7 @@ ./bin/runtest _DO_NOT_DISTRIBUTE_ ./bin/snapshot ./bin/snapshot_version _DO_NOT_DISTRIBUTE_ +./bin/switch_maint_mode _DO_NOT_DISTRIBUTE_ ./bin/test-driver ./bin/pkgscrpts/testbinaries.sh _DO_NOT_DISTRIBUTE_ ./bin/timekeeper _DO_NOT_DISTRIBUTE_ From 0277b7d8c1447ae3ad462d1e74e024d09e226050 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Mon, 21 Dec 2020 10:39:29 -0600 Subject: [PATCH 04/22] Update so numbers for 1.8.22 release. --- config/lt_vers.am | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/config/lt_vers.am b/config/lt_vers.am index afa827b78b3..95ee2b9ad8b 100644 --- a/config/lt_vers.am +++ b/config/lt_vers.am @@ -16,9 +16,9 @@ # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 ## If the API changes *at all*, increment LT_VERS_INTERFACE and ## reset LT_VERS_REVISION to 0. @@ -40,26 +40,26 @@ LT_VERS_AGE = 3 ## Version numbers for wrapper shared library files. LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 From a008cd03809ee577e537eb7deb65e7a1c6e334c8 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Mon, 21 Dec 2020 11:00:15 -0600 Subject: [PATCH 05/22] Add so numbers changes in Makefile.ins for 1.8.22 release. --- c++/src/Makefile.in | 18 +++++++++--------- fortran/src/Makefile.in | 18 +++++++++--------- hl/c++/src/Makefile.in | 18 +++++++++--------- hl/fortran/src/Makefile.in | 18 +++++++++--------- hl/src/Makefile.in | 18 +++++++++--------- src/Makefile.in | 18 +++++++++--------- 6 files changed, 54 insertions(+), 54 deletions(-) diff --git a/c++/src/Makefile.in b/c++/src/Makefile.in index 254662aede9..5a6605ec33f 100644 --- a/c++/src/Makefile.in +++ b/c++/src/Makefile.in @@ -696,26 +696,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 # This is our main target diff --git a/fortran/src/Makefile.in b/fortran/src/Makefile.in index 9d59120cb2a..8eaa8935eb7 100644 --- a/fortran/src/Makefile.in +++ b/fortran/src/Makefile.in @@ -747,26 +747,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 AM_FCLIBS = $(LIBHDF5) diff --git a/hl/c++/src/Makefile.in b/hl/c++/src/Makefile.in index 6bd6a98074c..564525fa61f 100644 --- a/hl/c++/src/Makefile.in +++ b/hl/c++/src/Makefile.in @@ -686,26 +686,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 # This is our main target diff --git a/hl/fortran/src/Makefile.in b/hl/fortran/src/Makefile.in index f96999abbfb..3ef663404ec 100644 --- a/hl/fortran/src/Makefile.in +++ b/hl/fortran/src/Makefile.in @@ -704,26 +704,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 # Our main target, the high-level fortran library diff --git a/hl/src/Makefile.in b/hl/src/Makefile.in index 2246e8c03fb..cba704801a3 100644 --- a/hl/src/Makefile.in +++ b/hl/src/Makefile.in @@ -685,26 +685,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 # This library is our main target. diff --git a/src/Makefile.in b/src/Makefile.in index 697668d901c..fe848eb7c84 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -792,26 +792,26 @@ CHECK_CLEANFILES = *.chkexe *.chklog *.clog *.clog2 # See libtool versioning documentation online. # After making changes, run bin/reconfigure to update other configure related # files like Makefile.in. -LT_VERS_INTERFACE = 13 -LT_VERS_REVISION = 1 -LT_VERS_AGE = 3 +LT_VERS_INTERFACE = 14 +LT_VERS_REVISION = 0 +LT_VERS_AGE = 4 LT_CXX_VERS_INTERFACE = 15 -LT_CXX_VERS_REVISION = 0 +LT_CXX_VERS_REVISION = 1 LT_CXX_VERS_AGE = 0 LT_F_VERS_INTERFACE = 10 -LT_F_VERS_REVISION = 5 +LT_F_VERS_REVISION = 6 LT_F_VERS_AGE = 0 LT_HL_VERS_INTERFACE = 12 -LT_HL_VERS_REVISION = 1 +LT_HL_VERS_REVISION = 2 LT_HL_VERS_AGE = 2 LT_HL_CXX_VERS_INTERFACE = 12 -LT_HL_CXX_VERS_REVISION = 1 +LT_HL_CXX_VERS_REVISION = 2 LT_HL_CXX_VERS_AGE = 1 LT_HL_F_VERS_INTERFACE = 10 -LT_HL_F_VERS_REVISION = 4 +LT_HL_F_VERS_REVISION = 5 LT_HL_F_VERS_AGE = 0 LT_TOOLS_VERS_INTERFACE = 10 -LT_TOOLS_VERS_REVISION = 6 +LT_TOOLS_VERS_REVISION = 7 LT_TOOLS_VERS_AGE = 0 # Our main target, the HDF5 library From 57df34d2aaee3d89b6f704955f5b4f4e42040157 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 22 Dec 2020 14:48:37 -0600 Subject: [PATCH 06/22] Update pkgconfig settings with version - #218 (#223) --- c++/src/CMakeLists.txt | 4 ++-- fortran/src/CMakeLists.txt | 4 ++-- hl/c++/src/CMakeLists.txt | 4 ++-- hl/fortran/src/CMakeLists.txt | 4 ++-- hl/src/CMakeLists.txt | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt index 98c6024de6a..ba08f163d67 100644 --- a/c++/src/CMakeLists.txt +++ b/c++/src/CMakeLists.txt @@ -196,8 +196,8 @@ if (BUILD_SHARED_LIBS) set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_CPP_LIB_CORENAME}") endif () -set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( ${HDF_RESOURCES_DIR}/libhdf5.pc.in diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index 85a93bfe35f..9172033aa9c 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -580,8 +580,8 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_F90_LIB_CORENAME}") endif () -set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( ${HDF_RESOURCES_DIR}/libhdf5.pc.in diff --git a/hl/c++/src/CMakeLists.txt b/hl/c++/src/CMakeLists.txt index 77382c25bc7..0c9b04b6d63 100644 --- a/hl/c++/src/CMakeLists.txt +++ b/hl/c++/src/CMakeLists.txt @@ -105,8 +105,8 @@ if (BUILD_SHARED_LIBS) set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_CPP_LIB_CORENAME}") endif () -set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}") -set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( ${HDF_RESOURCES_DIR}/libhdf5.pc.in diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt index edde8310df8..929d867543e 100644 --- a/hl/fortran/src/CMakeLists.txt +++ b/hl/fortran/src/CMakeLists.txt @@ -245,8 +245,8 @@ if (BUILD_SHARED_LIBS AND NOT SKIP_HDF5_FORTRAN_SHARED) set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_F90_LIB_CORENAME}") endif () -set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}") -set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_HL_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( ${HDF_RESOURCES_DIR}/libhdf5.pc.in diff --git a/hl/src/CMakeLists.txt b/hl/src/CMakeLists.txt index c2a879c8b1d..bb100886700 100644 --- a/hl/src/CMakeLists.txt +++ b/hl/src/CMakeLists.txt @@ -133,8 +133,8 @@ if (BUILD_SHARED_LIBS) set (_PKG_CONFIG_SH_LIBS "${_PKG_CONFIG_SH_LIBS} -l${HDF5_HL_LIB_CORENAME}") endif () -set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}") -set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}") +set (_PKG_CONFIG_REQUIRES "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") +set (_PKG_CONFIG_REQUIRES_PRIVATE "${HDF5_LIB_CORENAME}-${HDF5_PACKAGE_VERSION}") configure_file ( ${HDF_RESOURCES_DIR}/libhdf5.pc.in From 10dbac89bb99a07b716b6bccd6d89f337cf9a25e Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 22 Dec 2020 15:30:39 -0600 Subject: [PATCH 07/22] Add notice of final HDFF5 1.8 release. Add solaris 64bit alignment issue to "Known Problems". --- release_docs/RELEASE.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 6a608274ed9..5d817440700 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,6 +1,10 @@ HDF5 version 1.8.22-12 currently under development ================================================================================ +Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final +release of HDF5 1.8. HDF5 1.10 and HDF5 1.12 are currently available. New +features and migration details are available on the HDF5 web page (link below). + INTRODUCTION ============ @@ -724,6 +728,11 @@ Known Problems CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. + Various tests in dt_arith, fillval, and dtypes failed with core dump + during integer conversion on SunOS 5.11 with Sun C 5.15 SunOS_sparc in + 64-bit mode. It appears that these failures were caused by invalid + alignment, which is under investigation. + Known problems in previous releases can be found in the HISTORY*.txt files in the HDF5 source. Please report any new problems found to help@hdfgroup.org. From 458be3239b16820cbd702d74a406c48580160bea Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 22 Dec 2020 16:48:06 -0600 Subject: [PATCH 08/22] Update 1.8 final release notice. --- release_docs/RELEASE.txt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 5d817440700..181d183d1c7 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -2,8 +2,9 @@ HDF5 version 1.8.22-12 currently under development ================================================================================ Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final -release of HDF5 1.8. HDF5 1.10 and HDF5 1.12 are currently available. New -features and migration details are available on the HDF5 web page (link below). +release of HDF5 1.8. HDF5 1.10 and HDF5 1.12 are currently available. +Detailed information about these releases can be found at: +https://portal.hdfgroup.org/display/HDF5/Release+Specific+Information INTRODUCTION ============ From 5fde85a5c590ef1c48c40a07eafefc788c57eba3 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 22 Dec 2020 17:43:22 -0600 Subject: [PATCH 09/22] Update CMake/HDF5Examples version in bin/release --- bin/release | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/release b/bin/release index d6377c0cdd3..7c664f89f47 100755 --- a/bin/release +++ b/bin/release @@ -225,7 +225,7 @@ tar2cmakezip() # step 3: add LIBAEC.tar.gz, ZLib.tar.gz and cmake files cp /mnt/scr1/pre-release/hdf5/CMake/LIBAEC.tar.gz $cmziptmpsubdir cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmziptmpsubdir - cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-0.2.11-Source.tar.gz $cmziptmpsubdir + cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-0.2.12-Source.tar.gz $cmziptmpsubdir cp $cmziptmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmziptmpsubdir cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmziptmpsubdir cp $cmziptmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmziptmpsubdir @@ -319,7 +319,7 @@ tar2cmaketgz() # step 3: add LIBAEC.tar.gz, ZLib.tar.gz and cmake files cp /mnt/scr1/pre-release/hdf5/CMake/LIBAEC.tar.gz $cmgztmpsubdir cp /mnt/scr1/pre-release/hdf5/CMake/ZLib.tar.gz $cmgztmpsubdir - cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-0.2.11-Source.tar.gz $cmgztmpsubdir + cp /mnt/scr1/pre-release/hdf5/CMake/HDF5Examples-0.2.12-Source.tar.gz $cmgztmpsubdir cp $cmgztmpsubdir/$version/config/cmake/scripts/CTestScript.cmake $cmgztmpsubdir cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5config.cmake $cmgztmpsubdir cp $cmgztmpsubdir/$version/config/cmake/scripts/HDF5options.cmake $cmgztmpsubdir From faf36a3a823fbc3a9ff6b95b79b8ae1888430e03 Mon Sep 17 00:00:00 2001 From: bmribler <39579120+bmribler@users.noreply.github.com> Date: Wed, 23 Dec 2020 18:47:35 -0500 Subject: [PATCH 10/22] Fixed typo in an error message. (#227) --- src/H5O.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/H5O.c b/src/H5O.c index 2adc27cc1b5..eab3f1c57c6 100644 --- a/src/H5O.c +++ b/src/H5O.c @@ -3346,7 +3346,7 @@ H5O_dec_rc(H5O_t *oh) /* check args */ if (!oh) - HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name") + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid object header") /* Decrement reference count */ oh->rc--; From 1c141c0240a22335d22b4d4b59cb4b28fa811fcf Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 5 Jan 2021 10:11:00 -0600 Subject: [PATCH 11/22] Remove duplicate setting (#239) --- config/cmake/HDF5PluginCache.cmake | 1 - 1 file changed, 1 deletion(-) diff --git a/config/cmake/HDF5PluginCache.cmake b/config/cmake/HDF5PluginCache.cmake index 99ea4b25e24..2b9e48c26f7 100644 --- a/config/cmake/HDF5PluginCache.cmake +++ b/config/cmake/HDF5PluginCache.cmake @@ -8,7 +8,6 @@ set (H5PL_BUILD_TESTING ON CACHE BOOL "Enable h5pl testing" FORCE) set (BUILD_EXAMPLES ON CACHE BOOL "Build h5pl Examples" FORCE) -set (HDF5_PACKAGE_NAME "hdf5" CACHE STRING "Name of HDF5 package" FORCE) set (HDF5_HDF5_HEADER "h5pubconf.h" CACHE STRING "Name of HDF5 header" FORCE) set (HDF5_LINK_LIBS ${HDF5_LIBSH_TARGET} CACHE STRING "hdf5 target" FORCE) #set (HDF5_INCLUDE_DIR $ CACHE PATH "hdf5 include dirs" FORCE) From 03ca350bb7ddaa7e773de880fa2b8ce862c8121b Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 14 Jan 2021 12:12:20 -0600 Subject: [PATCH 12/22] RELEASE.txt cleanup. --- release_docs/RELEASE.txt | 43 +++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index c9a7d412693..ed28ed0c427 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -57,28 +57,28 @@ New Features The HDF filter plugins project is a collection of registered compression filters that can be dynamically loaded when needed to access data stored - in a hdf5 file. This CMake-only option allows the plugins to be built and + in an hdf5 file. This CMake-only option allows the plugins to be built and distributed with the hdf5 library and tools. Like the options for szip and zlib, either a tgz file or a git repository can be specified for the source. The option was refactored to use the CMake FetchContent process. This allows more control over the filter targets, but required external project command - options to be moved to a CMake include file, HDF5PluginCache.cmake. Also - enabled the filter examples to be used as tests for operation of the + options to be moved to a CMake include file, HDF5PluginCache.cmake. It also + allows the filter examples to be used as tests for operation of the filter plugins. (ADB - 2020/12/10, OESS-98) - CMake option to use MSVC naming conventions with MinGW - HDF5_MSVC_NAMING_CONVENTION option enable to use MSVC naming conventions + HDF5_MSVC_NAMING_CONVENTION option enables using MSVC naming conventions when using a MinGW toolchain (xan - 2020/10/30) - CMake option to statically link gcc libs with MinGW - HDF5_MINGW_STATIC_GCC_LIBS allows to statically link libg/libstdc++ + HDF5_MINGW_STATIC_GCC_LIBS allows statically linking libg/libstdc++ with the MinGW toolchain (xan - 2020/10/30) @@ -87,7 +87,7 @@ New Features The HDF filter plugins project is a collection of registered compression filters that can be dynamically loaded when needed to access data stored - in a hdf5 file. This CMake-only option allows the plugins to be built and + in an hdf5 file. This CMake-only option allows the plugins to be built and distributed with the hdf5 library and tools. Like the options for szip and zlib, either a tgz file or a git repository can be specified for the source. @@ -138,8 +138,8 @@ New Features The open source AEC library is a replacement library for SZip. In order to use it for hdf5 the libaec CMake source was changed to add "-fPIC" and exclude test files. Autotools does not build the - compression libraries within hdf5 builds. New option USE_LIBAEC is - required to compensate for the different files produced by AEC build. + compression libraries within hdf5 builds. CMake requires new option + USE_LIBAEC to compensate for the different files produced by AEC build. (ADB - 2020/04/22, OESS-65) @@ -160,7 +160,7 @@ New Features Intel C, Fortran warnings flags were moved to files in a config sub-folder named intel-warnings. - There are flags in named "error-xxx" files with warnings that may + There are flags in files named "error-xxx" with warnings that may be promoted to errors. Some source files may still need fixes. There are also pairs of files named "developer-xxx" and "no-developer-xxx" @@ -260,12 +260,12 @@ New Features - Add mingw CMake support with a toolchain file - There has been a number of mingw issues that has been linked under + There have been a number of mingw issues that have been linked under HDFFV-10845. It has been decided to implement the CMake cross-compiling technique of toolchain files. We will use a linux platform with the mingw compiler stack for testing. Only the C language is fully supported, and the error tests are skipped. The C++ language works for static but shared - builds has a shared library issue with the mingw Standard Exception Handling + builds have a shared library issue with the mingw Standard Exception Handling library, which is not available on Windows. Fortran has a common cross-compile problem with the fortran configure tests. @@ -301,7 +301,7 @@ New Features (ADB - 2018/10/04, HDFFV-10594) - - Add warning flags for Intel compilers + - Add warnings flags for Intel compilers Identified Intel compiler specific warnings flags that should be used instead of GNU flags. @@ -321,9 +321,13 @@ New Features Library ------- - - Add S3 and HDFS VFDs to HDF5 maintenance + - Added S3 and HDFS Virtual File Drivers (VFDs) to HDF5 - Fix windows requirements and java tests. Windows requires CMake 3.13. + These new VFDs have been added in HDF5-1.8.22. Instructions to + enable them when configuring HDF5 on Linux and Mac may be found at + https://portal.hdfgroup.org/display/HDF5/Virtual+File+Drivers+-+S3+and+HDFS. + + Installing on Windows requires CMake 3.13 and the following additional setup. Install openssl library (with dev files); from "Shining Light Productions". msi package preferred. @@ -349,7 +353,9 @@ New Features - Allow pre-generated H5Tinit.c and H5make_libsettings.c to be used. Rather than always running H5detect and generating H5Tinit.c and - H5make_libsettings.c, supply a location for those files. + H5make_libsettings.c, supply a location for those files with CMake variables + HDF5_USE_PREGEN and HDF5_USE_PREGEN_DIR. See release_docs/README_HPC + section VI "Other cross compiling options". (ADB - 2018/09/18, HDFFV-10332) @@ -517,7 +523,7 @@ Bug Fixes since HDF5-1.8.21 ----- - h5repack was fixed to repack the reference attributes properly. The code line that checks if the update of reference inside a compound - datatype is misplaced outside the code block loop that carries out the + datatype was misplaced outside the code block loop that carries out the check. In consequence, the next attribute that is not the reference type was repacked again as the reference type and caused the failure of repacking. The fix is to move the corresponding code line to the correct @@ -546,6 +552,7 @@ Bug Fixes since HDF5-1.8.21 (LRK - 2019/05/09, HDFFV-10596) + C++ API ------- - None @@ -692,8 +699,8 @@ The following platforms are not supported but have been tested for this release. (cori) intel/19.0.3 Linux-4.4.180-94.107-default cray-mpich/7.7.6 - # 1SMP x86_64 GNU/Linux gcc/7.2.0, 8.2.0 - (mutrino) intel/17.0.4, 18.0.2, 19.0.4 + # 1SMP x86_64 GNU/Linux gcc/8.3.0, 9.3.0 + (mutrino) intel/19.0.4 Fedora32 5.8.18-200.fc32.x86_64 #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6) From 751596f0bf52d9f5894e11afe8eecfc3ddc17796 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 14 Jan 2021 21:16:57 -0600 Subject: [PATCH 13/22] Add macOS Big Sur to tested machines, also missing entries for macOS 10.13 and 10.14. --- release_docs/RELEASE.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index ed28ed0c427..5ba4b377018 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -600,6 +600,13 @@ Supported Platforms Visual Studio 2019 w/ Intel Fortran 19 (cmake) Visual Studio 2019 w/ MSMPI 10.1 (cmake) + macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) + 64-bit gfortran GNU Fortran (GCC) 6.3.0 + (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 + + macOS Mojave 10.14.6 Apple LLVM version 10.0.1 (clang-1001.0.46.4) + 64-bit gfortran GNU Fortran (GCC) 6.3.0 + (bobcat) Intel icc/icpc/ifort version 19.0.4.233 20190416 Tested Configuration Features Summary @@ -720,6 +727,12 @@ The following platforms are not supported but have been tested for this release. Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) 64-bit gfortran GNU Fortran (GCC) 7.4.0 (kite) Intel icc/icpc/ifort version 17.0.2 +l + + + macOS Big Sur 11.1 Apple clang version 12.0.0 (clang-1200.0.32.28) + 64-bit gfortran GNU Fortran )Homebrew GCC 10.2.0) 10.2.0 + (BIGSUR-1) Intel icc/icpc/ifort version 2021.1 SunOS 5.11 11.3 Sun C 5.15 SunOS_sparc 32- and 64-bit Sun Fortran 95 8.8 SunOS_sparc From 216de13c821202d12681295803489809240020d8 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Thu, 14 Jan 2021 21:46:20 -0600 Subject: [PATCH 14/22] )Update version. --- README.txt | 2 +- c++/src/cpp_doc_config | 2 +- config/cmake/scripts/HDF5config.cmake | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- release_docs/RELEASE.txt | 2 +- src/H5public.h | 4 ++-- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/README.txt b/README.txt index 156cac6778f..6ffe44f8d17 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-12 currently under development +HDF5 version 1.8.22-13 currently under development ------------------------------------------------------------------------------ Please refer to the release_docs/INSTALL file for installation instructions. diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config index 2ec38093f6f..c170179a999 100644 --- a/c++/src/cpp_doc_config +++ b/c++/src/cpp_doc_config @@ -49,7 +49,7 @@ PROJECT_NAME = "HDF5 C++ API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.8.22-12, currently under development" +PROJECT_NUMBER = "1.8.22-13, currently under development" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/config/cmake/scripts/HDF5config.cmake b/config/cmake/scripts/HDF5config.cmake index 179056e896e..11b5dc3a2f4 100755 --- a/config/cmake/scripts/HDF5config.cmake +++ b/config/cmake/scripts/HDF5config.cmake @@ -38,7 +38,7 @@ cmake_minimum_required (VERSION 3.12) ############################################################################## set (CTEST_SOURCE_VERSION "1.8.22") -set (CTEST_SOURCE_VERSEXT "-12") +set (CTEST_SOURCE_VERSEXT "-13") ############################################################################## # handle input parameters to script. diff --git a/configure b/configure index 89ecdb74d5f..caec0cefd73 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.8.22-12. +# Generated by GNU Autoconf 2.69 for HDF5 1.8.22-13. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.8.22-12' -PACKAGE_STRING='HDF5 1.8.22-12' +PACKAGE_VERSION='1.8.22-13' +PACKAGE_STRING='HDF5 1.8.22-13' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1511,7 +1511,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.8.22-12 to adapt to many kinds of systems. +\`configure' configures HDF5 1.8.22-13 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1581,7 +1581,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.8.22-12:";; + short | recursive ) echo "Configuration of HDF5 1.8.22-13:";; esac cat <<\_ACEOF @@ -1823,7 +1823,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.8.22-12 +HDF5 configure 1.8.22-13 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2760,7 +2760,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.8.22-12, which was +It was created by HDF5 $as_me 1.8.22-13, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3631,7 +3631,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.8.22-12' + VERSION='1.8.22-13' cat >>confdefs.h <<_ACEOF @@ -30282,7 +30282,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.8.22-12 +HDF5 config.lt 1.8.22-13 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -32358,7 +32358,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.8.22-12, which was +This file was extended by HDF5 $as_me 1.8.22-13, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -32424,7 +32424,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HDF5 config.status 1.8.22-12 +HDF5 config.status 1.8.22-13 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index b0c2e21c2db..efcdeef1cea 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_PREREQ([2.69]) ## NOTE: Do not forget to change the version number here when we do a ## release!!! ## -AC_INIT([HDF5], [1.8.22-12], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.8.22-13], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADERS([src/H5config.h]) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 5ba4b377018..372fb09253f 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-12 currently under development +HDF5 version 1.8.22-13 currently under development ================================================================================ Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final diff --git a/src/H5public.h b/src/H5public.h index a7fb433ffb3..5405585266a 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -95,9 +95,9 @@ extern "C" { #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 8 /* For minor interface/format changes */ #define H5_VERS_RELEASE 22 /* For tweaks, bug-fixes, or development */ -#define H5_VERS_SUBRELEASE "12" /* For pre-releases like snap0 */ +#define H5_VERS_SUBRELEASE "13" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.8.22-12" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.8.22-13" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE) From f45efa19595e70ee725ef9e606a1e917c54e6c90 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Tue, 12 Jan 2021 11:41:15 -0800 Subject: [PATCH 15/22] Reverts lock/unlock callback signature to 1.8.21 version (#254) * Reverts lock/unlock callback signature to 1.8.21 version This callback is unused in 1.8. The ros3 and hdfs VFDs are the only VFDs that have the lock callback implemented and that is just as no-op stubs. These stubs were removed so the callbacks are now NULL pointers, like the other VFDs in 1.8. * Trivial whitespace fix --- src/H5FDhdfs.c | 61 ++---------------------------------------------- src/H5FDpublic.h | 4 ++-- src/H5FDros3.c | 61 ++---------------------------------------------- 3 files changed, 6 insertions(+), 120 deletions(-) diff --git a/src/H5FDhdfs.c b/src/H5FDhdfs.c index a481777ef78..5a11e446b12 100644 --- a/src/H5FDhdfs.c +++ b/src/H5FDhdfs.c @@ -286,8 +286,6 @@ static herr_t H5FD_hdfs_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, had static herr_t H5FD_hdfs_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size, const void *buf); static herr_t H5FD_hdfs_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing); -static herr_t H5FD_hdfs_lock(H5FD_t *_file, hbool_t rw); -static herr_t H5FD_hdfs_unlock(H5FD_t *_file); static herr_t H5FD_hdfs_validate_config(const H5FD_hdfs_fapl_t *fa); @@ -320,8 +318,8 @@ static const H5FD_class_t H5FD_hdfs_g = { H5FD_hdfs_write, /* write */ NULL, /* flush */ H5FD_hdfs_truncate, /* truncate */ - H5FD_hdfs_lock, /* lock */ - H5FD_hdfs_unlock, /* unlock */ + NULL, /* lock */ + NULL, /* unlock */ H5FD_FLMAP_DICHOTOMY /* fl_map */ }; @@ -1647,61 +1645,6 @@ H5FD_hdfs_truncate(H5FD_t H5_ATTR_UNUSED *_file, hid_t H5_ATTR_UNUSED dxpl_id, h FUNC_LEAVE_NOAPI(ret_value) } /* end H5FD_hdfs_truncate() */ -/*------------------------------------------------------------------------- - * - * Function: H5FD_hdfs_lock - * - * Purpose: - * - * Place an advisory lock on a file. - * No effect on Read-Only S3 file. - * - * Suggestion: remove lock/unlock from class - * would result in error at H5FD_[un]lock() (H5FD.c) - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_hdfs_lock(H5FD_t H5_ATTR_UNUSED *_file, hbool_t H5_ATTR_UNUSED rw) -{ - FUNC_ENTER_NOAPI_NOINIT_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD_hdfs_lock() */ - -/*------------------------------------------------------------------------- - * - * Function: H5FD_hdfs_unlock - * - * Purpose: - * - * Remove the existing lock on the file. - * No effect on Read-Only S3 file. - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_hdfs_unlock(H5FD_t H5_ATTR_UNUSED *_file) -{ - FUNC_ENTER_NOAPI_NOINIT_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD_hdfs_unlock() */ - #else /* H5_HAVE_LIBHDFS */ /* No-op stubs to avoid binary compatibility problems with previous diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h index c5bde158d49..fcedba250c6 100644 --- a/src/H5FDpublic.h +++ b/src/H5FDpublic.h @@ -236,8 +236,8 @@ typedef struct H5FD_class_t { herr_t (*write)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer); herr_t (*flush)(H5FD_t *file, hid_t dxpl_id, unsigned closing); herr_t (*truncate)(H5FD_t *file, hid_t dxpl_id, hbool_t closing); - herr_t (*lock)(H5FD_t *file, hbool_t last); - herr_t (*unlock)(H5FD_t *file); + herr_t (*lock)(H5FD_t *file, unsigned char *oid, unsigned lock_type, hbool_t last); + herr_t (*unlock)(H5FD_t *file, unsigned char *oid, hbool_t last); H5FD_mem_t fl_map[H5FD_MEM_NTYPES]; } H5FD_class_t; diff --git a/src/H5FDros3.c b/src/H5FDros3.c index ecb07c37b8f..237dd8f991d 100644 --- a/src/H5FDros3.c +++ b/src/H5FDros3.c @@ -229,8 +229,6 @@ static herr_t H5FD_ros3_read(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, had static herr_t H5FD_ros3_write(H5FD_t *_file, H5FD_mem_t type, hid_t fapl_id, haddr_t addr, size_t size, const void *buf); static herr_t H5FD_ros3_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing); -static herr_t H5FD_ros3_lock(H5FD_t *_file, hbool_t rw); -static herr_t H5FD_ros3_unlock(H5FD_t *_file); static herr_t H5FD_ros3_validate_config(const H5FD_ros3_fapl_t *fa); static void * H5FD_ros3_fapl_get(H5FD_t *_file); static void * H5FD_ros3_fapl_copy(const void *_old_fa); @@ -265,8 +263,8 @@ static const H5FD_class_t H5FD_ros3_g = { H5FD_ros3_write, /* write */ NULL, /* flush */ H5FD_ros3_truncate, /* truncate */ - H5FD_ros3_lock, /* lock */ - H5FD_ros3_unlock, /* unlock */ + NULL, /* lock */ + NULL, /* unlock */ H5FD_FLMAP_DICHOTOMY /* fl_map */ }; @@ -1575,59 +1573,4 @@ H5FD_ros3_truncate(H5FD_t H5_ATTR_UNUSED *_file, hid_t H5_ATTR_UNUSED dxpl_id, h FUNC_LEAVE_NOAPI(ret_value) } /* end H5FD_ros3_truncate() */ -/*------------------------------------------------------------------------- - * - * Function: H5FD_ros3_lock() - * - * Purpose: - * - * Place an advisory lock on a file. - * No effect on Read-Only S3 file. - * - * Suggestion: remove lock/unlock from class - * > would result in error at H5FD_[un]lock() (H5FD.c) - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_ros3_lock(H5FD_t H5_ATTR_UNUSED *_file, hbool_t H5_ATTR_UNUSED rw) -{ - FUNC_ENTER_NOAPI_NOINIT_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD_ros3_lock() */ - -/*------------------------------------------------------------------------- - * - * Function: H5FD_ros3_unlock() - * - * Purpose: - * - * Remove the existing lock on the file. - * No effect on Read-Only S3 file. - * - * Return: - * - * SUCCEED (No-op always succeeds) - * - * Programmer: Jacob Smith - * 2017-11-03 - * - *------------------------------------------------------------------------- - */ -static herr_t -H5FD_ros3_unlock(H5FD_t H5_ATTR_UNUSED *_file) -{ - FUNC_ENTER_NOAPI_NOINIT_NOERR - - FUNC_LEAVE_NOAPI(SUCCEED) -} /* end H5FD_ros3_unlock() */ - #endif /* H5_HAVE_ROS3_VFD */ From e46cef4e17ebe9930b06f9e6bdda569e31a2046c Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Sat, 16 Jan 2021 09:57:30 -0600 Subject: [PATCH 16/22] Update version to 1.8.22-14. --- README.txt | 2 +- c++/src/cpp_doc_config | 2 +- config/cmake/scripts/HDF5config.cmake | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- release_docs/RELEASE.txt | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.txt b/README.txt index 6ffe44f8d17..f42cb77ae9b 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-13 currently under development +HDF5 version 1.8.22-14 currently under development ------------------------------------------------------------------------------ Please refer to the release_docs/INSTALL file for installation instructions. diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config index c170179a999..9139abbbdff 100644 --- a/c++/src/cpp_doc_config +++ b/c++/src/cpp_doc_config @@ -49,7 +49,7 @@ PROJECT_NAME = "HDF5 C++ API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.8.22-13, currently under development" +PROJECT_NUMBER = "1.8.22-14, currently under development" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/config/cmake/scripts/HDF5config.cmake b/config/cmake/scripts/HDF5config.cmake index 11b5dc3a2f4..a25098dc262 100755 --- a/config/cmake/scripts/HDF5config.cmake +++ b/config/cmake/scripts/HDF5config.cmake @@ -38,7 +38,7 @@ cmake_minimum_required (VERSION 3.12) ############################################################################## set (CTEST_SOURCE_VERSION "1.8.22") -set (CTEST_SOURCE_VERSEXT "-13") +set (CTEST_SOURCE_VERSEXT "-14") ############################################################################## # handle input parameters to script. diff --git a/configure b/configure index caec0cefd73..6d424d754e8 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.8.22-13. +# Generated by GNU Autoconf 2.69 for HDF5 1.8.22-14. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.8.22-13' -PACKAGE_STRING='HDF5 1.8.22-13' +PACKAGE_VERSION='1.8.22-14' +PACKAGE_STRING='HDF5 1.8.22-14' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1511,7 +1511,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.8.22-13 to adapt to many kinds of systems. +\`configure' configures HDF5 1.8.22-14 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1581,7 +1581,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.8.22-13:";; + short | recursive ) echo "Configuration of HDF5 1.8.22-14:";; esac cat <<\_ACEOF @@ -1823,7 +1823,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.8.22-13 +HDF5 configure 1.8.22-14 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2760,7 +2760,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.8.22-13, which was +It was created by HDF5 $as_me 1.8.22-14, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3631,7 +3631,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.8.22-13' + VERSION='1.8.22-14' cat >>confdefs.h <<_ACEOF @@ -30282,7 +30282,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.8.22-13 +HDF5 config.lt 1.8.22-14 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -32358,7 +32358,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.8.22-13, which was +This file was extended by HDF5 $as_me 1.8.22-14, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -32424,7 +32424,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HDF5 config.status 1.8.22-13 +HDF5 config.status 1.8.22-14 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index efcdeef1cea..2f9e85f8786 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_PREREQ([2.69]) ## NOTE: Do not forget to change the version number here when we do a ## release!!! ## -AC_INIT([HDF5], [1.8.22-13], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.8.22-14], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADERS([src/H5config.h]) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 372fb09253f..c0f1b2ee213 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-13 currently under development +HDF5 version 1.8.22-14 currently under development ================================================================================ Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final From dcf60c420091399f172c67fd996d0f2707f5edc3 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Sat, 16 Jan 2021 12:09:18 -0600 Subject: [PATCH 17/22] Update version in H5public.h --- src/H5public.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/H5public.h b/src/H5public.h index 5405585266a..c1206df109b 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -95,9 +95,9 @@ extern "C" { #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 8 /* For minor interface/format changes */ #define H5_VERS_RELEASE 22 /* For tweaks, bug-fixes, or development */ -#define H5_VERS_SUBRELEASE "13" /* For pre-releases like snap0 */ +#define H5_VERS_SUBRELEASE "14" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.8.22-13" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.8.22-14" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE) From f309d6c5fca2fb77e3cf6b1bee6b5af87f43ae5c Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Sat, 23 Jan 2021 07:32:16 -0600 Subject: [PATCH 18/22] Set version 1.8.22 for release. --- README.txt | 2 +- c++/src/cpp_doc_config | 2 +- config/cmake/scripts/HDF5config.cmake | 2 +- configure | 22 +++++++++++----------- configure.ac | 2 +- release_docs/RELEASE.txt | 2 +- src/H5public.h | 4 ++-- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/README.txt b/README.txt index f42cb77ae9b..ea24aca23a1 100644 --- a/README.txt +++ b/README.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-14 currently under development +HDF5 version 1.8.22 currently under development ------------------------------------------------------------------------------ Please refer to the release_docs/INSTALL file for installation instructions. diff --git a/c++/src/cpp_doc_config b/c++/src/cpp_doc_config index 9139abbbdff..e962fce0c77 100644 --- a/c++/src/cpp_doc_config +++ b/c++/src/cpp_doc_config @@ -49,7 +49,7 @@ PROJECT_NAME = "HDF5 C++ API" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "1.8.22-14, currently under development" +PROJECT_NUMBER = "1.8.22" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/config/cmake/scripts/HDF5config.cmake b/config/cmake/scripts/HDF5config.cmake index a25098dc262..63fa9c18bc1 100755 --- a/config/cmake/scripts/HDF5config.cmake +++ b/config/cmake/scripts/HDF5config.cmake @@ -38,7 +38,7 @@ cmake_minimum_required (VERSION 3.12) ############################################################################## set (CTEST_SOURCE_VERSION "1.8.22") -set (CTEST_SOURCE_VERSEXT "-14") +set (CTEST_SOURCE_VERSEXT "") ############################################################################## # handle input parameters to script. diff --git a/configure b/configure index 6d424d754e8..9ec7e9692d6 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh # From configure.ac Id. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for HDF5 1.8.22-14. +# Generated by GNU Autoconf 2.69 for HDF5 1.8.22. # # Report bugs to . # @@ -591,8 +591,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='HDF5' PACKAGE_TARNAME='hdf5' -PACKAGE_VERSION='1.8.22-14' -PACKAGE_STRING='HDF5 1.8.22-14' +PACKAGE_VERSION='1.8.22' +PACKAGE_STRING='HDF5 1.8.22' PACKAGE_BUGREPORT='help@hdfgroup.org' PACKAGE_URL='' @@ -1511,7 +1511,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures HDF5 1.8.22-14 to adapt to many kinds of systems. +\`configure' configures HDF5 1.8.22 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1581,7 +1581,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of HDF5 1.8.22-14:";; + short | recursive ) echo "Configuration of HDF5 1.8.22:";; esac cat <<\_ACEOF @@ -1823,7 +1823,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -HDF5 configure 1.8.22-14 +HDF5 configure 1.8.22 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2760,7 +2760,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by HDF5 $as_me 1.8.22-14, which was +It was created by HDF5 $as_me 1.8.22, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3631,7 +3631,7 @@ fi # Define the identity of the package. PACKAGE='hdf5' - VERSION='1.8.22-14' + VERSION='1.8.22' cat >>confdefs.h <<_ACEOF @@ -30282,7 +30282,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -HDF5 config.lt 1.8.22-14 +HDF5 config.lt 1.8.22 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -32358,7 +32358,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by HDF5 $as_me 1.8.22-14, which was +This file was extended by HDF5 $as_me 1.8.22, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -32424,7 +32424,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -HDF5 config.status 1.8.22-14 +HDF5 config.status 1.8.22 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 2f9e85f8786..b3c13a14d64 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ AC_PREREQ([2.69]) ## NOTE: Do not forget to change the version number here when we do a ## release!!! ## -AC_INIT([HDF5], [1.8.22-14], [help@hdfgroup.org]) +AC_INIT([HDF5], [1.8.22], [help@hdfgroup.org]) AC_CONFIG_SRCDIR([src/H5.c]) AC_CONFIG_HEADERS([src/H5config.h]) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index c0f1b2ee213..e74b4c45be2 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,4 +1,4 @@ -HDF5 version 1.8.22-14 currently under development +HDF5 version 1.8.22 currently under development ================================================================================ Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final diff --git a/src/H5public.h b/src/H5public.h index c1206df109b..e21457a974c 100644 --- a/src/H5public.h +++ b/src/H5public.h @@ -95,9 +95,9 @@ extern "C" { #define H5_VERS_MAJOR 1 /* For major interface/format changes */ #define H5_VERS_MINOR 8 /* For minor interface/format changes */ #define H5_VERS_RELEASE 22 /* For tweaks, bug-fixes, or development */ -#define H5_VERS_SUBRELEASE "14" /* For pre-releases like snap0 */ +#define H5_VERS_SUBRELEASE "" /* For pre-releases like snap0 */ /* Empty string for real releases. */ -#define H5_VERS_INFO "HDF5 library version: 1.8.22-14" /* Full version string */ +#define H5_VERS_INFO "HDF5 library version: 1.8.22" /* Full version string */ #define H5check() H5check_version(H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE) From 564be147ed196a15321567288aaffd8162fa641f Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Sat, 23 Jan 2021 23:58:30 -0600 Subject: [PATCH 19/22] dd RELEASE.txt entry for HDFFV-10741. --- release_docs/RELEASE.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index e74b4c45be2..23e8ddc91cb 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -290,6 +290,14 @@ New Features (ADB - 2019/06/12, HDFFV-10805) + - Change tools tests to search the error stack + + There are some use cases which can cause the error stack of tools to be + different then the expected output. These tests now use grepTest.cmake; + this was changed to allow the error file to be searched for an expected string. + + (ADB - 2019/04/15, HDFFV-10741) + - Add toolchain and cross-compile support Added info on using a toolchain file to INSTALL_CMAKE.txt. A From 6bb39035e0490eb6cd60c84b212ff3d30018c4d2 Mon Sep 17 00:00:00 2001 From: Neil Fortner Date: Fri, 22 Jan 2021 17:03:15 -0600 Subject: [PATCH 20/22] Improve performance of multiple calls to H5Sget_select_elem_pointlist (#270) (#277) * Cache the pointer to the next point to process after the last call to H5S__get_select_elem_pointlist. This allows the normal process of iterating over the points in batches to be much more efficient, as the library does not need to traverse the entirety of the preceding points every time the funciton is re-entered. * Update RELEASE.txt for point selection iteration performance fix. --- release_docs/RELEASE.txt | 9 +++++++++ src/H5Spkg.h | 5 +++++ src/H5Spoint.c | 33 ++++++++++++++++++++++++++------- 3 files changed, 40 insertions(+), 7 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 23e8ddc91cb..b52eac7c054 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -329,6 +329,15 @@ New Features Library ------- + - Improved performance of H5Sget_select_elem_pointlist + + Modified library to cache the point after the last block of points + retrieved by H5Sget_select_elem_pointlist, so a subsequent call to the + same function to retrieve the next block of points from the list can + proceed immediately without needing to iterate over the point list. + + (NAF - 2021/01/19) + - Added S3 and HDFS Virtual File Drivers (VFDs) to HDF5 These new VFDs have been added in HDF5-1.8.22. Instructions to diff --git a/src/H5Spkg.h b/src/H5Spkg.h index 129731e9aea..24c85ba8409 100644 --- a/src/H5Spkg.h +++ b/src/H5Spkg.h @@ -95,6 +95,11 @@ struct H5S_pnt_node_t { /* Information about point selection list */ typedef struct { H5S_pnt_node_t *head; /* Pointer to head of point list */ + + hsize_t last_idx; /* Index of the point after the last returned from H5S__get_select_elem_pointlist() */ + H5S_pnt_node_t *last_idx_pnt; /* Point after the last returned from H5S__get_select_elem_pointlist(). + * If we ever add a way to remove points or add points in the middle of + * the pointlist we will need to invalidate these fields. */ } H5S_pnt_list_t; /* Information about new-style hyperslab spans */ diff --git a/src/H5Spoint.c b/src/H5Spoint.c index 07e52aa0990..d1702e7f70e 100644 --- a/src/H5Spoint.c +++ b/src/H5Spoint.c @@ -618,6 +618,10 @@ H5S_point_copy(H5S_t *dst, const H5S_t *src, hbool_t H5_ATTR_UNUSED share_select curr = curr->next; } /* end while */ + /* Clear cached iteration point */ + dst->select.sel_info.pnt_lst->last_idx = 0; + dst->select.sel_info.pnt_lst->last_idx_pnt = NULL; + done: if (ret_value < 0 && dst->select.sel_info.pnt_lst) { /* Traverse the (incomplete?) dst list, freeing all memory */ @@ -956,6 +960,7 @@ H5S_point_deserialize(H5S_t *space, const uint8_t *buf) static herr_t H5S_get_select_elem_pointlist(H5S_t *space, hsize_t startpoint, hsize_t numpoints, hsize_t *buf) { + const hsize_t endpoint = startpoint + numpoints; /* Index of last point in iteration */ H5S_pnt_node_t *node; /* Point node */ unsigned rank; /* Dataspace rank */ @@ -967,14 +972,20 @@ H5S_get_select_elem_pointlist(H5S_t *space, hsize_t startpoint, hsize_t numpoint /* Get the dataspace extent rank */ rank = space->extent.rank; - /* Get the head of the point list */ - node = space->select.sel_info.pnt_lst->head; + /* Check for cached point at the correct index */ + if(space->select.sel_info.pnt_lst->last_idx_pnt + && startpoint == space->select.sel_info.pnt_lst->last_idx) + node = space->select.sel_info.pnt_lst->last_idx_pnt; + else { + /* Get the head of the point list */ + node = space->select.sel_info.pnt_lst->head; - /* Iterate to the first point to return */ - while (node != NULL && startpoint > 0) { - startpoint--; - node = node->next; - } /* end while */ + /* Iterate to the first point to return */ + while (node != NULL && startpoint > 0) { + startpoint--; + node = node->next; + } /* end while */ + } /* end else */ /* Iterate through the node, copying each point's information */ while (node != NULL && numpoints > 0) { @@ -984,6 +995,10 @@ H5S_get_select_elem_pointlist(H5S_t *space, hsize_t startpoint, hsize_t numpoint node = node->next; } /* end while */ + /* Cached next point in iteration */ + space->select.sel_info.pnt_lst->last_idx = endpoint; + space->select.sel_info.pnt_lst->last_idx_pnt = node; + FUNC_LEAVE_NOAPI(SUCCEED) } /* H5S_get_select_elem_pointlist() */ @@ -1494,6 +1509,10 @@ H5S_point_project_simple(const H5S_t *base_space, H5S_t *new_space, hsize_t *off } /* end while */ } /* end else */ + /* Clear cached iteration point */ + new_space->select.sel_info.pnt_lst->last_idx = 0; + new_space->select.sel_info.pnt_lst->last_idx_pnt = NULL; + /* Number of elements selected will be the same */ new_space->select.num_elem = base_space->select.num_elem; From 6f33e83645fe610f5e4d281bcd20cd7cb2101d40 Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 2 Feb 2021 11:30:14 -0600 Subject: [PATCH 21/22] Update "Support for New Platforms and Compilers" section in RELEASE.txt; add check_version workaround for binary compatibility to "Known Problems". --- release_docs/RELEASE.txt | 33 +++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index c1f6770f012..2966c4f89e8 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -411,6 +411,16 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== + - Added support for macOS High Sierra 10.13.6 with Apple LLVM version 10.0.0 + (clang-1000.10.44.4) and gfortran GNU Fortran (GCC) 6.3.0 + - Added support for macOS Mojave 10.14.6 with Apple LLVM version 10.0.1 + (clang-1001.0.46.4) and gfortran GNU Fortran (GCC) 6.3.0 + - Added support for Intel icc/icpc/ifort version 19.0.4.233 20190416 + - Added support for MPICH 3.3 compiled with GCC 7.2.0 + - Added support for NAG Fortran Compiler Release 7.0(Yurakuchho) Build 7011 + - Added support for OpenMPI 4.0.0 compiled with GCC 7.2.0 + - Added support for Visual Studio 2019 w/ Intel Fortran 19 (cmake) + - Added support for Visual Studio 2019 w/ MSMPI 10.1 (cmake) Bug Fixes since HDF5-1.8.21 @@ -744,14 +754,14 @@ The following platforms are not supported but have been tested for this release. # 1SMP x86_64 GNU/Linux gcc/8.3.0, 9.3.0 (mutrino) intel/19.0.4 - Fedora32 5.8.18-200.fc32.x86_64 - #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6) - GNU Fortran (GCC) 10.2.1 20201016 (Red Hat 10.2.1-6) - clang version 10.0.1 (Fedora 10.0.1-3.fc32) + Fedora33 5.10.10-200.fc33.x86_64 + #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) + GNU Fortran (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) + clang version 11.0.0 (Fedora 11.0.0-2.fc33) (cmake and autotools) - Ubuntu20.10 -5.8.0-29-generic-x86_64 - #31-Ubuntu SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.0-13ubuntu1 + Ubuntu20.10 5.8.0-41-generic-x86_64 + #46-Ubuntu SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.0-13ubuntu1 GNU Fortran (GCC) 10.2.0-13ubuntu1 (cmake and autotools) @@ -773,8 +783,19 @@ l 32- and 64-bit Sun Fortran 95 8.8 SunOS_sparc (emu) + Known Problems ============== + HDF5-1.8.22 binaries can replace the previous HDF5 version to run with + applications compiled and linked with HDF5-1.8.21 and possibly HDF5 versions + as early as 1.8.15. However, HDF5 checks versions in lib files against + versions in header files used to compile the application and will cause the + application to abort when they do not match. An environment variable + HDF5_DISABLE_VERSION_CHECK can be set to 2 to skip the check, to 1 to warn + but not abort, or to 0 for the default behavior, aborting when the HDF5 + version in the lib files does not match the version in the header files. + LRK - 2020/02/02 + CMake files do not behave correctly with paths containing spaces. Do not use spaces in paths because the required escaping for handling spaces results in very complex and fragile build files. From 345649a927a6062c18a827fae483d902f353895a Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Tue, 2 Feb 2021 11:47:01 -0600 Subject: [PATCH 22/22] Add SUSE Linux to tested platforms. --- release_docs/RELEASE.txt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 2966c4f89e8..0a3dace0192 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -755,8 +755,10 @@ The following platforms are not supported but have been tested for this release. (mutrino) intel/19.0.4 Fedora33 5.10.10-200.fc33.x86_64 - #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) - GNU Fortran (GCC) 10.2.1 20201125 (Red Hat 10.2.1-9) + #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201125 + (Red Hat 10.2.1-9) + GNU Fortran (GCC) 10.2.1 20201125 + (Red Hat 10.2.1-9) clang version 11.0.0 (Fedora 11.0.0-2.fc33) (cmake and autotools) @@ -765,6 +767,13 @@ The following platforms are not supported but have been tested for this release. GNU Fortran (GCC) 10.2.0-13ubuntu1 (cmake and autotools) + SUSE15sp2 5.3.18-22-default + #1 SMP x86_64 GNU/Linux GNU gcc (SUSE Linux) 7.5.0 + GNU Fortran (SUSE Linux) 7.5.0 + clang version 7.0.1 + (tags/RELEASE_701/final 349238) + (cmake and autotools) + Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) 64-bit gfortran GNU Fortran (GCC) 5.2.0 (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2