Skip to content

Commit

Permalink
Merge branch 'develop' into sub_def
Browse files Browse the repository at this point in the history
  • Loading branch information
brtnfld committed May 20, 2024
2 parents 5b1d943 + baec5ff commit c16fbb9
Show file tree
Hide file tree
Showing 15 changed files with 111 additions and 39 deletions.
14 changes: 7 additions & 7 deletions .github/workflows/cmake-bintest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ jobs:
- name: Get published binary (MacOS)
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: tgz-osx12-${{ inputs.build_mode }}-binary
name: tgz-osx-${{ inputs.build_mode }}-binary
path: ${{ github.workspace }}

- name: Uncompress hdf5 binary (MacOS)
Expand All @@ -189,12 +189,12 @@ jobs:
ls ${{ runner.workspace }}
# symlinks the compiler executables to a common location
- name: Setup GNU Fortran
uses: fortran-lang/setup-fortran@v1
id: setup-fortran
with:
compiler: gcc
version: 12
# - name: Setup GNU Fortran
# uses: fortran-lang/setup-fortran@v1
# id: setup-fortran
# with:
# compiler: gcc
# version: 12

- name: Run ctest (MacOS)
id: run-ctest
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/cmake-ctest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ jobs:
cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-Clang/README.md ${{ runner.workspace }}/build/hdf5
cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-Clang/*.tar.gz ${{ runner.workspace }}/build/hdf5
cd "${{ runner.workspace }}/build"
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz hdf5
tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz hdf5
shell: bash

- name: List files in the space (MacOS)
Expand All @@ -320,8 +320,8 @@ jobs:
- name: Save published binary (MacOS)
uses: actions/upload-artifact@v4
with:
name: tgz-osx12-binary
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz
name: tgz-osx-binary
path: ${{ runner.workspace }}/build/${{ steps.set-file-base.outputs.FILE_BASE }}-osx.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

build_and_test_S3_linux:
Expand Down
5 changes: 0 additions & 5 deletions .github/workflows/h5py.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,6 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install Fortran
uses: fortran-lang/setup-fortran@v1
with:
compiler: gcc
version: 13
- name: Checkout Spack
uses: actions/[email protected]
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/main-cmake.yml
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,7 @@ jobs:
- name: Save published binary (Mac)
uses: actions/upload-artifact@v4
with:
name: tgz-osx12-${{ inputs.build_mode }}-binary
name: tgz-osx-${{ inputs.build_mode }}-binary
path: ${{ runner.workspace }}/build/HDF5-*-Darwin.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`
if: ${{ (matrix.os == 'macos-13') && (inputs.thread_safety != 'TS') }}
29 changes: 25 additions & 4 deletions .github/workflows/release-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ jobs:
- name: Get published binary (MacOS)
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: tgz-osx12-binary
name: tgz-osx-binary
path: ${{ github.workspace }}

- name: Get published binary (Linux)
Expand Down Expand Up @@ -148,12 +148,26 @@ jobs:
name: abi-reports
path: ${{ github.workspace }}

- name: Get published nonversioned source (tgz)
if: ${{ (inputs.use_environ == 'release') }}
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: tgz-tarball-nover
path: ${{ github.workspace }}

- name: Get published nonversioned source (zip)
if: ${{ (inputs.use_environ == 'release') }}
uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: zip-tarball-nover
path: ${{ github.workspace }}

- name: Create sha256 sums for files
run: |
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip > ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
Expand All @@ -163,6 +177,11 @@ jobs:
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
- name: Create sha256 sums for files for nonversioned files
run: |
sha256sum hdf5.zip >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
sha256sum hdf5.tar.gz >> ${{ steps.get-file-base.outputs.FILE_BASE }}.sha256sums.txt
- name: Store snapshot name
run: |
echo "${{ steps.get-file-base.outputs.FILE_BASE }}" > ./last-file.txt
Expand Down Expand Up @@ -190,7 +209,7 @@ jobs:
${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz
Expand All @@ -214,7 +233,9 @@ jobs:
${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
hdf5.tar.gz
hdf5.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/remove-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ jobs:
${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip
${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}.zip
${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-osx.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb.tar.gz
${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm.tar.gz
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,14 @@ jobs:
mv hdf5-${{ steps.version.outputs.SOURCE_TAG }}.zip ${{ inputs.use_tag }}.zip
shell: bash

- name: Copy the release file source to a non-versioned file name
id: cp-to-non-versioned
if: ${{ (inputs.use_environ == 'release') }}
run: |
cp ${{ inputs.use_tag }}.tar.gz hdf5.tar.gz
cp ${{ inputs.use_tag }}.zip hdf5.zip
shell: bash

- name: List files in the repository
run: |
ls -l ${{ github.workspace }}
Expand All @@ -164,6 +172,22 @@ jobs:
path: ${{ steps.set-file-base.outputs.FILE_BASE }}.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

- name: Save tgz-tarball-nover
if: ${{ (inputs.use_environ == 'release') }}
uses: actions/upload-artifact@v4
with:
name: tgz-tarball-nover
path: hdf5.tar.gz
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

- name: Save zip-tarball-nover
if: ${{ (inputs.use_environ == 'release') }}
uses: actions/upload-artifact@v4
with:
name: zip-tarball-nover
path: hdf5.zip
if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn`

- name: Save NEWSLETTER
uses: actions/upload-artifact@v4
with:
Expand Down
7 changes: 7 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -4613,5 +4613,12 @@ if test "X$HDF_FORTRAN" = "Xyes"; then
esac
fi

## HDF5 configure code created by autotools with gcc 4.9.2 is adding problematic
## linker flags: -l with no library name; -l <libname>, specifically gfortran or m.
## This sed script corrects "-l <libname>" first and then "-l " with no library name.
## If the order is not preserved, all instances of "-l " will be removed.
sed -e '/^postdeps/ s/-l \([a-zA-Z]\)/-l\1/g' -e '/^postdeps/ s/-l //g' libtool > libtool.bak
mv -- libtool.bak libtool

## show the configure settings
cat src/libhdf5.settings
7 changes: 7 additions & 0 deletions doxygen/dox/VOLConnGuide.dox
Original file line number Diff line number Diff line change
Expand Up @@ -306,6 +306,13 @@ it may be some time before that work is complete.
\subsection subsecVOLPassthrough Passthrough Connectors
Coming Soon

Note:
Passthrough VOL connectors should avoid doing anything with the file in the open and create
callbacks except opening it. If connectors need to do anything else they should use the post
open callback (H5VL_NATIVE_FILE_POST_OPEN op_type for the file "optional" callback),
making sure to perform operations on the file only after passing the post open call down to
the terminal connector. The post open callback is made for both file open and file create calls.

\subsection subsecVOLAsync Asynchronous Operations
Coming Soon

Expand Down
26 changes: 16 additions & 10 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1674,6 +1674,22 @@ Bug Fixes since HDF5-1.14.0 release

Configuration
-------------
- Fixed/reverted an Autotools configure hack that causes problems on MacOS

A sed line in configure.ac was added in the past to paper over some
problems with older versions of the Autotools that would add incorrect
linker flags. This used the -i option in a way that caused silent
errors on MacOS that did not break the build.

The original fix for this problem (in 1.14.4) removed the sed line
entirely, but it turns out that the sed cleanup is still necessary
on some systems, where empty -l options will be added to the libtool
script.

This sed line has been restored and reworked to not use -i.

Fixes GitHub issues #3843 and #4448

- Fixed a list index out of range issue in the runTest.cmake file

Fixed an issue in config/cmake/runTest.cmake where the CMake logic
Expand Down Expand Up @@ -1701,16 +1717,6 @@ Bug Fixes since HDF5-1.14.0 release
* HDF5_ENABLE_DOXY_WARNINGS: ON/OFF (Default: OFF)
* --enable-doxygen-errors: enable/disable (Default: disable)

- Removed an Autotools configure hack that causes problems on MacOS

A sed line in configure.ac was added in the past to paper over some
problems with older versions of the Autotools that would add incorrect
linker flags. This hack is not needed with recent versions of the
Autotools and the sed line errors on MacOS (though this was a silent
error that didn't break the build) so the hack has been removed.

Fixes GitHub issue #3843

- Fixed an issue where the h5tools_test_utils test program was being
installed on the system for Autotools builds of HDF5

Expand Down
9 changes: 7 additions & 2 deletions src/H5Adense.c
Original file line number Diff line number Diff line change
Expand Up @@ -839,6 +839,7 @@ H5A__dense_rename(H5F_t *f, const H5O_ainfo_t *ainfo, const char *old_name, cons
htri_t attr_sharable; /* Flag indicating attributes are shareable */
htri_t shared_mesg; /* Should this message be stored in the Shared Message table? */
bool attr_exists; /* Attribute exists in v2 B-tree */
H5O_ainfo_t tainfo = *ainfo; /* Copy of ainfo */
herr_t ret_value = SUCCEED; /* Return value */

FUNC_ENTER_PACKAGE
Expand Down Expand Up @@ -977,8 +978,12 @@ H5A__dense_rename(H5F_t *f, const H5O_ainfo_t *ainfo, const char *old_name, cons
else if (shared_mesg < 0)
HGOTO_ERROR(H5E_ATTR, H5E_WRITEERROR, FAIL, "error determining if message should be shared");

/* Delete old attribute from dense storage */
if (H5A__dense_remove(f, ainfo, old_name) < 0)
/* Deactivate the field so that H5A__dense_remove() won't delete the new renamed attribute
that was just added to the creation order index v2 B-tree via H5A__dense_insert() */
tainfo.corder_bt2_addr = HADDR_UNDEF;

/* Only delete the old attribute (before rename) from the name index v2 B-tree */
if (H5A__dense_remove(f, (const H5O_ainfo_t *)&tainfo, old_name) < 0)
HGOTO_ERROR(H5E_ATTR, H5E_CANTDELETE, FAIL, "unable to delete attribute in dense storage");

done:
Expand Down
4 changes: 4 additions & 0 deletions src/H5Fpkg.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,10 @@
(H5F_SUPERBLOCK_FIXED_SIZE + \
H5F_SUPERBLOCK_VARLEN_SIZE((s)->super_vers, (s)->sizeof_addr, (s)->sizeof_size))

/* Optimistic read size for superblock */
/* Size of a v2+ superblock, w/8-byte addresses & lengths */
#define H5F_SUPERBLOCK_SPEC_READ_SIZE (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_VARLEN_SIZE(2, 8, 8))

/* For superblock version 0 & 1:
Offset to the file consistency flags (status_flags) in the superblock (excluding H5F_SUPERBLOCK_FIXED_SIZE)
*/
Expand Down
3 changes: 1 addition & 2 deletions src/H5Fsuper.c
Original file line number Diff line number Diff line change
Expand Up @@ -416,8 +416,7 @@ H5F__super_read(H5F_t *f, H5P_genplist_t *fa_plist, bool initial_read)
HGOTO_ERROR(H5E_FILE, H5E_BADTYPE, FAIL, "can't get property list");

/* Make certain we can read the fixed-size portion of the superblock */
if (H5F__set_eoa(f, H5FD_MEM_SUPER,
(haddr_t)(H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE)) < 0)
if (H5F__set_eoa(f, H5FD_MEM_SUPER, (haddr_t)H5F_SUPERBLOCK_SPEC_READ_SIZE) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTSET, FAIL, "set end of space allocation request failed");

/* Set up the user data for cache callbacks */
Expand Down
3 changes: 1 addition & 2 deletions src/H5Fsuper_cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,8 +306,7 @@ H5F__cache_superblock_get_initial_load_size(void H5_ATTR_UNUSED *_udata, size_t
assert(image_len);

/* Set the initial image length size */
*image_len = H5F_SUPERBLOCK_FIXED_SIZE + /* Fixed size of superblock */
H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE;
*image_len = H5F_SUPERBLOCK_SPEC_READ_SIZE;

FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5F__cache_superblock_get_initial_load_size() */
Expand Down
9 changes: 7 additions & 2 deletions test/tattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -2898,6 +2898,11 @@ test_attr_dense_rename(hid_t fcpl, hid_t fapl)
VERIFY(is_dense, true, "H5O__is_attr_dense_test");
}

/* Verify github issue #1388 that the last renamed attribute
with/without tracking corder can be deleted */
ret = H5Adelete(dataset, new_attrname);
CHECK(ret, FAIL, "H5Adelete");

/* Close Dataset */
ret = H5Dclose(dataset);
CHECK(ret, FAIL, "H5Dclose");
Expand Down Expand Up @@ -2930,8 +2935,8 @@ test_attr_dense_rename(hid_t fcpl, hid_t fapl)
dataset = H5Dopen2(fid, DSET1_NAME, H5P_DEFAULT);
CHECK(dataset, H5I_INVALID_HID, "H5Dopen2");

/* Verify renamed attributes */
for (u = 0; u < (max_compact * 2); u++) {
/* Verify renamed attributes (the last attribute was deleted) */
for (u = 0; u < (max_compact * 2 - 1); u++) {
unsigned value; /* Attribute value */

/* Open attribute */
Expand Down

0 comments on commit c16fbb9

Please sign in to comment.