* Fix runExecute.cmake: restore ERROR_APPEND and fix zero-or-more mask patterns
Three bugs were introduced when runTest.cmake was refactored into runExecute.cmake:
1. ERROR_APPEND=1 support was dropped. Tests that redirect their error-stack
output to stderr and rely on ERROR_APPEND to combine it with stdout before
comparison (e.g. H5TEST-err_compat, H5TEST-error_test) fail silently because
the reference file never matches the truncated actual output.
2. " line [0-9]*" uses zero-or-more digits, so it matches " line " (with zero
digits) in already-masked reference text like " line (number)", prepending
another "(number)" and producing " line (number)(number)".
3. "HDF5 [1-9]*[.][0-9]*..." has the "HDF5 " prefix and uses [1-9]* (zero-or-
more), so it does not match "2.2.0" in actual output (blocked by the leading
"("), and double-masks "version (number)" in the reference.
"H5Eget_auto[1-2]*" / "H5Eset_auto[1-2]*" have the same zero-or-more issue,
double-masking "(1 or 2)" already present in reference files.
Fix: restore ERROR_APPEND handling; change * to + for all digit/char class
quantifiers that can match zero occurrences in already-masked reference text;
remove the "HDF5 " prefix from the version pattern. Same fix applied to
HDF5Examples/config/cmake/runExecute.cmake which has identical bugs.
* Fix AOCC CI: source setenv_AOCC.sh from its actual install location
install.sh generates setenv_AOCC.sh inside the aocc-compiler-VERSION/
directory (where it runs from), not in the repo root one level up.
* Fix AOCC CI: replace hardcoded runner paths with GITHUB_WORKSPACE
All /home/runner/work/hdf5/hdf5/ paths were hardcoded to the HDFGroup/hdf5
repo name. Running the workflow in any fork (e.g. brtnfld/hdf5_swmr_2)
puts the checkout under a different path, breaking AOCC/OpenMPI install,
configure, and build steps. Use $GITHUB_WORKSPACE / ${{ github.workspace }}
so the paths resolve correctly regardless of repo name.
* fix(aocc): source setenv_AOCC.sh from workspace root, not compiler subdir
install.sh places setenv_AOCC.sh in the workspace root, not inside the
aocc-compiler-X.X.X/ directory.
* Fix runExecute.cmake: anchor HDF5 version regex to full token
Replace the over-broad version pattern with one that matches the complete
'HDF5 (x.y.z)' token, preventing over-matching of IP addresses and other
version-like strings, and avoiding nested substitution artifacts in .err
reference comparisons. Applied identically to both copies of the file.
HDF5 Examples
Please refer to the Using_CMake.txt file for CMake instructions.
Note that this HDF5Examples directory structure is also provided as a stand-alone project distributed with library binaries as well as compiled and tested during a HDF5 Library build.
This repository contains a high-performance library's example code that demonstrate the HDF5® data model API. The HDF5® data model has been adopted across many industries and this implementation has become a de facto data management standard in science, engineering, and research communities worldwide.
The HDF Group is the developer, maintainer, and steward of HDF5 software. Find more information about The HDF Group, the HDF5 Community, and other HDF5 software projects, tools, and services at The HDF Group's website.
We suggest using the presets method with CMake for building the examples. However, if you prefer to use the h5cc pkg-config wrappers, you can use the following commands to build the examples:
export HDF5_HOME="hdf5 installation root"
export PKG_CONFIG_PATH="$HDF5_HOME/lib/pkgconfig"
export LD_LIBRARY_PATH="$HDF5_HOME/lib:$LD_LIBRARY_PATH"
export PATH="$HDF5_HOME/bin:$PATH"
Then, you can compile the examples with:
h5cc -o example1 example1.c
h5c++ -o example2 example2.cpp
h5fc -o example3 example3.f90
For Java examples with Maven integration, see the JAVA/README-MAVEN.md file for complete instructions on using the org.hdfgroup:hdf5-java-examples Maven artifact.
The test-pc.sh script can test the examples with the h5*cc pkg-config wrappers with: cd <path to examples> export HDF5_HOME="hdf5 installation root"; sh ./test-pc.sh <path to examples> <path to build dir> . Notice that period (.) at the end of the command is important, it tells the script to use the current directory as the source directory.
HELP AND SUPPORT
Information regarding Help Desk and Support services is available at
FORUM and NEWS
The HDF Forum is provided for public announcements and discussions of interest to the general HDF5 Community.
-
News and Announcements https://forum.hdfgroup.org/c/news-and-announcements-from-the-hdf-group
-
HDF5 Topics https://forum.hdfgroup.org/c/hdf5
These forums are provided as an open and public service for searching and reading. Posting requires completing a simple registration and allows one to join in the conversation. Please read the instructions pertaining to the Forum's use and configuration.
HDF5 SNAPSHOTS, PREVIOUS RELEASES AND SOURCE CODE
Full Documentation and Programming Resources for this HDF5 can be found at
https://support.hdfgroup.org/documentation/index.html
Periodically development code snapshots are provided at the following URL:
https://github.com/HDFGroup/hdf5/releases/tag/snapshot
Source packages for current and previous releases are located at:
Latest HDF5 release Previous releases
Development code is available at our Github location: