From 09186b6c615ac2f8362881db568d427830b106ea Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:38:00 -0600 Subject: [PATCH 1/6] Update install notes (#5233) --- release_docs/INSTALL_CMake.txt | 272 ++++++++++++--------------------- 1 file changed, 99 insertions(+), 173 deletions(-) diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index 41d99fe3e59..d9a0cc2e321 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -186,7 +186,7 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to: Linux will set the default to: "myhdfstuff/HDF_Group/HDF5/2."X"."Y" The default can be changed by adding ",INSTALLDIR=" to the - "ctest -S HDF5config.cmake..." command. For example on linux: + "ctest -S HDF5config.cmake..." command. For example on linux: ctest -S HDF5config.cmake,INSTALLDIR=/usr/local/myhdf5,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log @@ -309,8 +309,8 @@ IV. Further considerations B. Use source packages from an GIT server by adding the following CMake options: HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" - ZLIB_GIT_URL:STRING="https://some_location/zlib" - ZLIB_GIT_BRANCH="some_branch" + ZLIB_GIT_URL:STRING="https://some_location/zlib" or ZLIBNG_GIT_URL:STRING="https://some_location/zlibng" + ZLIB_GIT_BRANCH="some_branch" or ZLIBNG_GIT_BRANCH="some_branch" SZIP_GIT_URL:STRING="https://some_location/szip" SZIP_GIT_BRANCH="some_branch" LIBAEC_GIT_URL:STRING="https://some_location/libaec" @@ -322,7 +322,7 @@ IV. Further considerations C. Use source packages from a compressed file by adding the following CMake options: HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" - ZLIB_TGZ_NAME:STRING="zlib_src.ext" + ZLIB_TGZ_NAME:STRING="zlib_src.ext" or ZLIBNG_TGZ_NAME:STRING="zlibng_src.ext" LIBAEC_TGZ_NAME:STRING="libaec_src.ext" TGZPATH:STRING="some_location" where "some_location" is the URL or full path to the compressed @@ -335,8 +335,8 @@ IV. Further considerations LIBAEC_TGZ_NAME:STRING="szip_src.ext" LIBAEC_TGZ_ORIGPATH:STRING="some_location" - ZLIB_TGZ_NAME:STRING="zlib_src.ext" - ZLIB_TGZ_ORIGPATH:STRING="some_location" + ZLIB_TGZ_NAME:STRING="zlib_src.ext" or ZLIBNG_TGZ_NAME:STRING="zlibng_src.ext" + ZLIB_TGZ_ORIGPATH:STRING="some_location" or ZLIBNG_TGZ_ORIGPATH:STRING="some_location" HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" where "some_location" is the URL and by setting @@ -433,7 +433,7 @@ Notes: CMake and HDF5 how CMake support can be improved on any system. Visit the Kitware site for more information about CMake. - 3. Build and test results can be submitted to our CDash server: + 3. Build and test results can be submitted to our HDF5 CDash server: The CDash server for community submissions of hdf5 is at https://my.cdash.org. @@ -481,6 +481,11 @@ These five steps are described in detail below. available in your Start menu. For Linux, UNIX, and Mac users the executable is named "cmake-gui" and can be found where CMake was installed. + Another option is to use the presets file, CMakePresets.json, to configure, + build, test, and package HDF5. See section X: Using CMakePresets.json for compiling + for use of that file. You can create a CMakeUserPresets.json file to create a + specific configuration for your environment. Note that Visual Studio and XCode can + use the presets files. Specify the source and build directories. @@ -503,39 +508,37 @@ These five steps are described in detail below. * MinGW Makefiles * NMake Makefiles * Unix Makefiles - * Visual Studio 14 2015 - * Visual Studio 14 2015 Win64 + * Ninja * Visual Studio 15 2017 * Visual Studio 15 2017 Win64 * Visual Studio 16 2019 * Visual Studio 17 2022 is: - * SZIP_INCLUDE_DIR:PATH= - * SZIP_LIBRARY:FILEPATH= - * libaec_INCLUDE_DIR:PATH= - * libaec_LIBRARY:FILEPATH= - * ZLIB_INCLUDE_DIR:PATH= - * ZLIB_LIBRARY:FILEPATH= + For installed SZIP/libaec: + * SZIP_INCLUDE_DIR:PATH= + * SZIP_LIBRARY:FILEPATH= + * libaec_INCLUDE_DIR:PATH= + * libaec_LIBRARY:FILEPATH= + or + * SZIP_ROOT:PATH= + * libaec_ROOT:PATH= + For installed ZLIB/ZLIBNG: + * ZLIB_INCLUDE_DIR:PATH= + * ZLIB_LIBRARY:FILEPATH= + or + * ZLIB_ROOT:PATH= * :BOOL=[ON | OFF] - is: + highlights are: # This is the CMakeCache file used by HDF Group for daily tests. set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) - set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE) set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE) set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE) - set (HDF5_INSTALL_MOD_FORTRAN "NO" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" FORCE) - set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC) - set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE) - set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE) - set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE) - set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" FORCE) set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE) - set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) ######################## # compression options ######################## @@ -558,12 +561,6 @@ These five steps are described in detail below. set (LIBAEC_GIT_URL "https://github.com/MathisRosenhauer/libaec.git" CACHE STRING "Use LIBAEC from GitHub repository" FORCE) set (LIBAEC_GIT_BRANCH "v1.1.3" CACHE STRING "" FORCE) ######################## - # API test options - ######################## - set (KWSYS_TGZ_ORIGPATH "https://gitlab.kitware.com/utils/kwsys/-/archive/master" CACHE STRING "Use KWSYS from original location" FORCE) - set (KWSYS_TGZ_NAME "kwsys-master.tar.gz" CACHE STRING "Use KWSYS from original compressed file" FORCE) - set (KWSYS_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for KWSYS FetchContent" FORCE) - ######################## # filter plugin options ######################## set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" CACHE STRING "Use PLUGINS from original location" FORCE) @@ -572,111 +569,6 @@ These five steps are described in detail below. set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) set (PLUGIN_GIT_URL "https://github.com/HDFGroup/hdf5_plugins.git" CACHE STRING "Use plugins from HDF Group repository" FORCE) set (PLUGIN_GIT_BRANCH "master" CACHE STRING "" FORCE) - ############# - # bitshuffle - ############# - set (BSHUF_GIT_URL "https://github.com/kiyo-masui/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE) - set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (BSHUF_TGZ_ORIGPATH "https://github.com/kiyo-masui/bitshuffle/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BSHUF_TGZ_NAME "bitshuffle-0.5.1.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) - set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) - ######## - # blosc - ######## - set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github repository" FORCE) - set (BLOSC_GIT_BRANCH "main" CACHE STRING "" FORCE) - set (BLOSC_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_TGZ_NAME "c-blosc-1.21.6.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE) - set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE) - set (BLOSC_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) - set (BLOSC_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (BLOSC_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) - set (BLOSC_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC_ZLIB package" FORCE) - ######## - # blosc2 - ######## - set (BLOSC2_GIT_URL "https://github.com/Blosc/c-blosc2.git" CACHE STRING "Use BLOSC2 from Github repository" FORCE) - set (BLOSC2_GIT_BRANCH "main" CACHE STRING "" FORCE) - set (BLOSC2_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC2_TGZ_NAME "c-blosc2-2.15.1.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) - set (BLOSC2_PACKAGE_NAME "blosc2" CACHE STRING "Name of BLOSC2 package" FORCE) - set (BLOSC2_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) - set (BLOSC2_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (BLOSC2_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC2_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) - set (BLOSC2_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC2_ZLIB package" FORCE) - ######## - # bzip2 - ######## - set (BZ2_GIT_URL "https://github.com/libarchive/bzip2.git" CACHE STRING "Use BZ2 from GitHub repository" FORCE) - set (BZ2_GIT_BRANCH "bzip2-1.0.8" CACHE STRING "" FORCE) - set (BZ2_TGZ_ORIGPATH "https://github.com/libarchive/bzip2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BZ2_TGZ_NAME "bzip2-bzip2-1.0.8.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE) - set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE) - ######## - # fpzip - ######## - set (FPZIP_GIT_URL "https://github.com/LLNL/fpzip.git" CACHE STRING "Use FPZIP from GitHub repository" FORCE) - set (FPZIP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (FPZIP_TGZ_ORIGPATH "https://github.com/LLNL/fpzip/releases/download/1.3.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (FPZIP_TGZ_NAME "fpzip-1.3.0.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE) - set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE) - ####### - # jpeg - ####### - set (JPEG_GIT_URL "https://github.com/libjpeg-turbo/libjpeg-turbo.git" CACHE STRING "Use JPEG from TurboJPEG" FORCE) - set (JPEG_GIT_BRANCH "jpeg-9e" CACHE STRING "" FORCE) - set (JPEG_TGZ_ORIGPATH "https://www.ijg.org/files" CACHE STRING "Use PLUGINS from original location" FORCE) - set (JPEG_TGZ_NAME "jpegsrc.v9e.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) - set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE) - ###### - # lz4 - ###### - set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE) - set (LZ4_GIT_URL "https://github.com/lz4/lz4.git" CACHE STRING "Use LZ4 from GitHub repository" FORCE) - set (LZ4_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (LZ4_TGZ_ORIGPATH "https://github.com/lz4/lz4/releases/download/v1.10.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (LZ4_TGZ_NAME "lz4-1.10.0.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE) - set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE) - ###### - # lzf - ###### - set (LZF_URL "http://software.schmorp.de/pkg/liblzf.html" CACHE STRING "LZF home" FORCE) - set (LZF_TGZ_ORIGPATH "http://dist.schmorp.de/liblzf" CACHE STRING "Use LZF from original location" FORCE) - set (LZF_TGZ_NAME "liblzf-3.6.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE) - set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) - ######### - # mafisc - ######### - #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) - #set (MAFISC_TGZ_ORIGPATH "" CACHE STRING "Use PLUGINS from original location" FORCE) - #set (MAFISC_TGZ_NAME ".tar.gz" CACHE STRING "Use MAFISC from compressed file" FORCE) - #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) - ##### - # sz - ##### - set (SZ_GIT_URL "https://github.com/szcompressor/SZ.git" CACHE STRING "Use SZ filter from GitHub repository" FORCE) - set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (SZ_TGZ_ORIGPATH "https://github.com/szcompressor/SZ/releases/download/v2.1.12.5" CACHE STRING "Use PLUGINS from original location" FORCE) - set (SZ_TGZ_NAME "SZ-2.1.12.5.tar.gz" CACHE STRING "Use SZ filter from compressed file" FORCE) - set (SZ_PACKAGE_NAME "SZ" CACHE STRING "Name of SZ filter package" FORCE) - ###### - # zfp - ###### - set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from GitHub repository" FORCE) - set (ZFP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (ZFP_TGZ_ORIGPATH "https://github.com/LLNL/zfp/releases/download/1.0.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZFP_TGZ_NAME "zfp-1.0.1.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE) - set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE) - ###### - # zstd - ###### - set (ZSTD_GIT_URL "https://github.com/facebook/zstd.git" CACHE STRING "Use ZSTD from GitHub repository" FORCE) - set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (ZSTD_TGZ_ORIGPATH "https://github.com/facebook/zstd/releases/download/v1.5.6" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZSTD_TGZ_NAME "zstd-1.5.6.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE) - set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE) 2. Configure the cache settings @@ -814,6 +706,40 @@ These five steps are described in detail below. WiX--the Windows Installer XML toolset--lets developers create installers for Windows Installer, the Windows installation engine. See http://wixtoolset.org. + 10. Backward compatibility + The 2.0.0 version of the HDF5 library can be configured to + set all versioned functions to the version that was available in one of these HDF5_DEFAULT_API_VERSIONs + HDF5_DEFAULT_API_VERSION:STRING=v114 + HDF5_DEFAULT_API_VERSION:STRING=v112 + HDF5_DEFAULT_API_VERSION:STRING=v110 + HDF5_DEFAULT_API_VERSION:STRING=v18 + HDF5_DEFAULT_API_VERSION:STRING=v16 + This allows existing code to be compiled with the + v2.0 library without requiring immediate changes to the application + source code. + + Note that because 2.0.0 is a major release, as long as the existing application + code doesn't use symbols removed in 2.0.0, the code can be compiled and run with + the new library. + + For additional configuration options and other details, + see "API Compatibility Macros": + https://hdfgroup.github.io/hdf5/develop/api-compat-macros.html + + 11. Building doxygen + One can optionally build the doxygen files for the HDF5 C library. + By default, this option is disabled. To build the html files, specify + 'HDF5_BUILD_DOC'. + + cmake -G "" -DHDF5_BUILD_DOC:BOOL=ON + + Configuration will halt if the required applications are not available. + To build: + + cmake --build . --config {Debug | Release} + or + make doxygen + ======================================================================== VI. CMake Option Defaults for HDF5 @@ -821,13 +747,13 @@ VI. CMake Option Defaults for HDF5 In the options listed below, there are three columns of information: Option Name, Option Description, and Option Default. -The config/cmake/cacheinit.cmake file can override the following values. +The config/cmake/cacheinit.cmake or CMakePresets.json file can override the following values. ---------------- General Build Options ------------------------------------- -BUILD_SHARED_LIBS "Build Shared Libraries" ON -BUILD_STATIC_LIBS "Build Static Libraries" ON -BUILD_STATIC_EXECS "Build Static Executables" OFF -BUILD_TESTING "Build HDF5 Unit Testing" ON +BUILD_SHARED_LIBS "Build Shared Libraries" ON +BUILD_STATIC_LIBS "Build Static Libraries" ON +BUILD_STATIC_EXECS "Build Static Executables" OFF +BUILD_TESTING "Build HDF5 Unit Testing" ON if (WINDOWS) HDF5_DISABLE_PDB_FILES "Do not install PDB files" OFF @@ -856,7 +782,7 @@ HDF5_INSTALL_DOC_DIR "HDF5_INSTALL_DATA_DIR" HDF5_USE_GNU_DIRS "ON to use GNU Coding Standard install directory variables, OFF to use historical settings" OFF -Defaults as defined by the `GNU Coding Standards` +Defaults as defined by the 'GNU Coding Standards' HDF5_INSTALL_BIN_DIR "bin" HDF5_INSTALL_LIB_DIR "lib" HDF5_INSTALL_INCLUDE_DIR "include" @@ -870,7 +796,7 @@ HDF5_ONLY_SHARED_LIBS "Only Build Shared Libraries" HDF5_ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF -HDF5_ENABLE_CONCURRENCY "Enable multi-threaded concurrency" OFF +HDF5_ENABLE_CONCURRENCY "Enable multi-threaded concurrency" OFF HDF5_DIMENSION_SCALES_NEW_REF "Use new-style references with dimension scale APIs" OFF HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." "" HDF5_EXTERNAL_LIB_SUFFIX "Use suffix for custom library naming." "" @@ -907,13 +833,13 @@ HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" if (APPLE) HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF if (CMAKE_BUILD_TYPE MATCHES Debug) - HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF + HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF if (HDF5_BUILD_FORTRAN) - HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED - if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED - if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED - if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC - if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" SHARED + if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC + if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF @@ -949,34 +875,34 @@ if (BUILD_TESTING) HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "" HDF5_USING_ANALYSIS_TOOL "Indicate that an analysis checker is used" ON ---------------- External Library Options --------------------- -HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" -HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF -HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF -HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF +HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" +HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF +HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF +HDF5_ENABLE_ZLIB_SUPPORT "Enable Zlib Filters" OFF if (HDF5_USE_ZLIB_NG) - ZLIBNG_USE_EXTERNAL "Use External Library Building for ZLIBNG" OFF - ZLIBNG_TGZ_ORIGPATH "Use ZLIBNG from original location" "https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.2" - ZLIBNG_TGZ_NAME "Use ZLIBNG from original compressed file" "2.2.2.tar.gz" + ZLIBNG_USE_EXTERNAL "Use External Library Building for ZLIBNG" OFF + ZLIBNG_TGZ_ORIGPATH "Use ZLIBNG from original location" "https://github.com/zlib-ng/zlib-ng/releases/tag/2.2.2" + ZLIBNG_TGZ_NAME "Use ZLIBNG from original compressed file" "2.2.2.tar.gz" else - ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF - ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.3.1" - ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.3.1.tar.gz" -ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF -HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF + ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" OFF + ZLIB_TGZ_ORIGPATH "Use ZLIB from original location" "https://github.com/madler/zlib/releases/download/v1.3.1" + ZLIB_TGZ_NAME "Use ZLIB from original compressed file" "zlib-1.3.1.tar.gz" +ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" OFF +HDF5_USE_ZLIB_STATIC "Find static zlib library" OFF -SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF +SZIP_USE_EXTERNAL "Use External Library Building for SZIP else search" OFF if (HDF5_ENABLE_SZIP_SUPPORT) - HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON -LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.1.3" -LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.1.3.tar.gz" -LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF -HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF - -PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF -PLUGIN_TGZ_ORIGPATH "Use PLUGIN from original location" "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" -PLUGIN_TGZ_NAME "Use PLUGIN from original compressed file" "hdf5_plugins-master.tar.gz" -PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF + HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON +LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.1.3" +LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.1.3.tar.gz" +LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" OFF +HDF5_USE_LIBAEC_STATIC "Find static AEC library" OFF + +PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS else search" OFF +PLUGIN_TGZ_ORIGPATH "Use PLUGIN from original location" "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshot" +PLUGIN_TGZ_NAME "Use PLUGIN from original compressed file" "hdf5_plugins-master.tar.gz" +PLUGIN_USE_LOCALCONTENT "Use local file for PLUGIN FetchContent" OFF if (WINDOWS) H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" else () @@ -1041,7 +967,7 @@ CMAKE_CXX_FLAGS variables. Using a cmake script: set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") Defined on the configure line: - cmake -G "Visual Studio 12 2013" -DCMAKE_C_FLAGS:STRING=-O2 .. + cmake -G "Visual Studio 17 2019" -DCMAKE_C_FLAGS:STRING=-O2 .. Debug symbols are enabled with configuration selections Debug or RelWithDebInfo. The difference between Debug and RelWithDebInfo configurations is that @@ -1148,7 +1074,7 @@ HDF-provided CMakePresets.json ------------------------------- The CMakePresets.json provided by HDF requires CMake version 3.25, which supports package and workflow presets, and ninja build system. The top-level configuration group is intended to be -a standard set of options to produce a package of shared and staic libraries and tools. Other configurations +a standard set of options to produce a package of shared and static libraries and tools. Other configurations used for inheriting settings are in the included json file in "config/cmake-presets/hidden-presets.json". Available configurations presets can be displayed by executing: From d84337ad8cb70d9f3fa47f8cb4b9b65544475ac8 Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Tue, 21 Jan 2025 17:36:27 -0600 Subject: [PATCH 2/6] Fix codespell issues (#5256) --- .codespellrc | 4 ++-- doxygen/dox/ImageSpec.dox | 2 +- .../{Palettes.fm.anc.gif => Palettes_fm_anc.gif} | Bin hl/test/test_ld.c | 2 +- src/H5B2test.c | 2 +- src/H5Dbtree.c | 2 +- src/H5Dchunk.c | 2 +- src/H5FDonion_index.c | 2 +- src/H5FDs3comms.c | 2 +- src/H5FDs3comms.h | 4 ++-- src/H5FDsubfiling/H5FDioc_int.c | 2 +- src/H5Fmodule.h | 2 +- src/H5Pfapl.c | 2 +- src/H5Ppublic.h | 2 +- src/H5Rdeprec.c | 2 +- src/H5Sselect.c | 4 ++-- src/H5TSbarrier.h | 2 +- test/mirror_vfd.c | 2 +- test/swmr.c | 4 ++-- test/tmisc.c | 4 ++-- test/ttsafe_thread_id.c | 2 +- 21 files changed, 25 insertions(+), 25 deletions(-) rename doxygen/img/{Palettes.fm.anc.gif => Palettes_fm_anc.gif} (100%) diff --git a/.codespellrc b/.codespellrc index 5fddb495f09..57478c3876f 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,6 +1,6 @@ # Ref: https://github.com/codespell-project/codespell#using-a-config-file [codespell] -skip = .git,*.svg,.codespellrc,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5import/testfiles/*.conf,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html,./HDF5Examples/depcomp +skip = .git,*.svg,.codespellrc,./bin/trace,./hl/tools/h5watch/h5watch.c,./tools/test/h5jam/tellub.c,./config/sanitizer/LICENSE,./config/sanitizer/sanitizers.cmake,./tools/test/h5import/testfiles/*.conf,./tools/test/h5repack/testfiles/*.dat,./test/API/driver,./configure,./bin/ltmain.sh,./bin/depcomp,./bin/config.guess,./bin/config.sub,./autom4te.cache,./m4/libtool.m4,./c++/src/*.html,./HDF5Examples/depcomp,./release_docs/HISTORY-*.txt check-hidden = true # ignore-regex = -ignore-words-list = ot,isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn't,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,ake,gord,numer,ro,oce,msdos,TEXTIN,FLE +ignore-words-list = ot,isnt,inout,nd,parms,parm,ba,offsetP,ser,ois,had,fiter,fo,clude,refere,minnum,offsetp,creat,ans:,eiter,lastr,ans,isn't,ifset,sur,trun,dne,tthe,hda,filname,te,htmp,ake,gord,numer,ro,oce,msdos,TEXTIN,indx,FLE diff --git a/doxygen/dox/ImageSpec.dox b/doxygen/dox/ImageSpec.dox index 18edb62b355..86dd51afedd 100644 --- a/doxygen/dox/ImageSpec.dox +++ b/doxygen/dox/ImageSpec.dox @@ -430,7 +430,7 @@ and blue components that make up each color.
-\image html Palettes.fm.anc.gif +\image html Palettes_fm_anc.gif
diff --git a/doxygen/img/Palettes.fm.anc.gif b/doxygen/img/Palettes_fm_anc.gif similarity index 100% rename from doxygen/img/Palettes.fm.anc.gif rename to doxygen/img/Palettes_fm_anc.gif diff --git a/hl/test/test_ld.c b/hl/test/test_ld.c index c65992506d2..40c71689380 100644 --- a/hl/test/test_ld.c +++ b/hl/test/test_ld.c @@ -33,7 +33,7 @@ #define DSET_SCALAR "DSET_SCALAR" /* Selected compound field members for testing */ -#define VALID_FIELDS1 "field1,field2.a,field3,field4" /* TEMPORORAY */ +#define VALID_FIELDS1 "field1,field2.a,field3,field4" /* TEMPORARY */ #define VALID_FIELDS2 "field2.b.a,field2.c,field4.b" #define INVALID_FIELDS1 "field2.k.a,field2.c,field4.k" diff --git a/src/H5B2test.c b/src/H5B2test.c index f295bc6b622..e2490e0f854 100644 --- a/src/H5B2test.c +++ b/src/H5B2test.c @@ -599,7 +599,7 @@ H5B2__get_node_depth_test(H5B2_t *bt2, void *udata) /* Check arguments. */ assert(bt2); - /* Get information abou the node */ + /* Get information about the node */ if (H5B2__get_node_info_test(bt2, udata, &ninfo) < 0) HGOTO_ERROR(H5E_BTREE, H5E_NOTFOUND, (-1), "error looking up node info"); diff --git a/src/H5Dbtree.c b/src/H5Dbtree.c index 92a95aa6808..4db3e847a47 100644 --- a/src/H5Dbtree.c +++ b/src/H5Dbtree.c @@ -466,7 +466,7 @@ H5D__chunk_disjoint(unsigned n, const hsize_t *scaled1, const hsize_t *scaled2) assert(scaled1); assert(scaled2); - /* Loop over two chunks, detecting disjointness and getting out quickly */ + /* Loop over two chunks, detecting disjointedness and getting out quickly */ for (u = 0; u < n; u++) if ((scaled1[u] + 1) <= scaled2[u] || (scaled2[u] + 1) <= scaled1[u]) HGOTO_DONE(true); diff --git a/src/H5Dchunk.c b/src/H5Dchunk.c index 5fb47e7054a..23e0cf11ba9 100644 --- a/src/H5Dchunk.c +++ b/src/H5Dchunk.c @@ -5029,7 +5029,7 @@ H5D__chunk_allocate(const H5D_t *dset, bool full_overwrite, const hsize_t old_di fill_buf = &fb_info.fill_buf; /* Check if there are filters which need to be applied to the chunk */ - /* (only do this in advance when the chunk info can be re-used (i.e. + /* (only do this in advance when the chunk info can be reused (i.e. * it doesn't contain any non-default VL datatype fill values) */ if (!fb_info.has_vlen_fill_type && pline->nused > 0) { diff --git a/src/H5FDonion_index.c b/src/H5FDonion_index.c index 8e9512c102c..d04f4aa0666 100644 --- a/src/H5FDonion_index.c +++ b/src/H5FDonion_index.c @@ -437,7 +437,7 @@ H5FD__onion_revision_index_resize(H5FD_onion_revision_index_t *rix) * checksum value will change. * * Entry data is copied into separate memory region; user pointer - * can be safley re-used or discarded after operation. + * can be safley reused or discarded after operation. * * Return: SUCCEED/FAIL *----------------------------------------------------------------------------- diff --git a/src/H5FDs3comms.c b/src/H5FDs3comms.c index fdd93af6821..f2c2d14618c 100644 --- a/src/H5FDs3comms.c +++ b/src/H5FDs3comms.c @@ -861,7 +861,7 @@ H5FD__s3comms_s3r_configure_aws(s3r_t *handle, const H5FD_ros3_fapl_t *fa, const if (H5FD__s3comms_make_iso_8661_string(time(NULL), iso8601) < 0) HGOTO_ERROR(H5E_VFL, H5E_BADVALUE, FAIL, "could not construct ISO-8601 string"); - /* Compute signing key (part of AWS/S3 REST API). Can be re-used by + /* Compute signing key (part of AWS/S3 REST API). Can be reused by * user/key for 7 days after creation. */ if (H5FD__s3comms_make_aws_signing_key(signing_key, (const char *)fa->secret_key, diff --git a/src/H5FDs3comms.h b/src/H5FDs3comms.h index 93433f17054..6c9e1d2010e 100644 --- a/src/H5FDs3comms.h +++ b/src/H5FDs3comms.h @@ -320,7 +320,7 @@ typedef struct { * * Instantiated through `H5FD__s3comms_s3r_open()`, copies data into self. * - * Intended to be re-used for operations on a remote object. + * Intended to be reused for operations on a remote object. * * Cleaned up through `H5FD__s3comms_s3r_close()`. * @@ -373,7 +373,7 @@ typedef struct { * key, generated via * `HMAC-SHA256(HMAC-SHA256(HMAC-SHA256(HMAC-SHA256("AWS4", * ""), ""), "aws4_request")` - * which may be re-used for several (up to seven (7)) days from creation + * which may be reused for several (up to seven (7)) days from creation * * Computed once upon file open from the secret key string in the fapl * diff --git a/src/H5FDsubfiling/H5FDioc_int.c b/src/H5FDsubfiling/H5FDioc_int.c index c334624726c..181183ced3e 100644 --- a/src/H5FDsubfiling/H5FDioc_int.c +++ b/src/H5FDsubfiling/H5FDioc_int.c @@ -396,7 +396,7 @@ H5FD__ioc_async_completion(MPI_Request *mpi_reqs, size_t num_reqs) H5_CHECK_OVERFLOW(num_reqs, size_t, int); - /* Have to supppress gcc warnings regarding MPI_STATUSES_IGNORE + /* Have to suppress gcc warnings regarding MPI_STATUSES_IGNORE * with MPICH (https://github.com/pmodels/mpich/issues/5687) */ H5_GCC_DIAG_OFF("stringop-overflow") diff --git a/src/H5Fmodule.h b/src/H5Fmodule.h index 02e006cfbf9..3e28940c5fe 100644 --- a/src/H5Fmodule.h +++ b/src/H5Fmodule.h @@ -2156,7 +2156,7 @@ * image> \endcode * * If we can further arrange matters so that only the contents of the datasets in the HDF5 file image change, - * but not the structure of the file itself, we can optimize still further by re-using the image and changing + * but not the structure of the file itself, we can optimize still further by reusing the image and changing * only the contents of the datasets after the initial write to the buffer. The following pseudo code shows * how this might be done. Note that the code assumes that buf already contains the image of the HDF5 file * whose dataset contents are to be overwritten. Again, much error checking is omitted for clarity. Also, diff --git a/src/H5Pfapl.c b/src/H5Pfapl.c index a07018a9214..14825657da0 100644 --- a/src/H5Pfapl.c +++ b/src/H5Pfapl.c @@ -2388,7 +2388,7 @@ H5Pget_mdc_config(hid_t plist_id, H5AC_cache_config_t *config /*out*/) * probably) use space in the file heap. If garbage collection * is on and the user passes in an uninitialized value in a * reference structure, the heap might get corrupted. When - * garbage collection is off however and the user re-uses a + * garbage collection is off however and the user reuses a * reference, the previous heap block will be orphaned and not * returned to the free heap space. When garbage collection is * on, the user must initialize the reference structures to 0 or diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h index 6cfe36efe70..f802e132729 100644 --- a/src/H5Ppublic.h +++ b/src/H5Ppublic.h @@ -4910,7 +4910,7 @@ H5_DLL herr_t H5Pset_file_locking(hid_t fapl_id, hbool_t use_file_locking, hbool * HDF5 file's global heap. If garbage collection is on and the user * passes in an uninitialized value in a reference structure, the heap * might get corrupted. When garbage collection is off, however, and - * the user re-uses a reference, the previous heap block will be + * the user reuses a reference, the previous heap block will be * orphaned and not returned to the free heap space. * * When garbage collection is on, the user must initialize the diff --git a/src/H5Rdeprec.c b/src/H5Rdeprec.c index 99b69225be6..6ca014e16a7 100644 --- a/src/H5Rdeprec.c +++ b/src/H5Rdeprec.c @@ -191,7 +191,7 @@ H5R__encode_token_region_compat(H5F_t *f, const H5O_token_t *obj_token, size_t t * file libver bounds, this is later retrieved in H5S hyper encode */ H5CX_set_libver_bounds(f); - /* Zero the heap ID out, may leak heap space if user is re-using + /* Zero the heap ID out, may leak heap space if user is reusing * reference and doesn't have garbage collection turned on */ memset(buf, 0, buf_size); diff --git a/src/H5Sselect.c b/src/H5Sselect.c index d40474a5ac0..73a044b2723 100644 --- a/src/H5Sselect.c +++ b/src/H5Sselect.c @@ -2575,11 +2575,11 @@ H5S_select_project_intersection(H5S_t *src_space, H5S_t *dst_space, H5S_t *src_i /* Advance iterators */ if (H5S_SELECT_ITER_NEXT(ss_iter, 1) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL, - "can't advacne source selection iterator"); + "can't advance source selection iterator"); ss_iter->elmt_left--; if (H5S_SELECT_ITER_NEXT(ds_iter, 1) < 0) HGOTO_ERROR(H5E_DATASPACE, H5E_CANTNEXT, FAIL, - "can't advacne destination selection iterator"); + "can't advance destination selection iterator"); ds_iter->elmt_left--; } while (ss_iter->elmt_left > 0); assert(H5S_SELECT_ITER_NELMTS(ds_iter) == 0); diff --git a/src/H5TSbarrier.h b/src/H5TSbarrier.h index bf085a50e5a..32cf3b71718 100644 --- a/src/H5TSbarrier.h +++ b/src/H5TSbarrier.h @@ -57,7 +57,7 @@ * * Purpose: Wait at a barrier. * - * Note: Similar to pthread_barrier_wait, a barrier may be re-used + * Note: Similar to pthread_barrier_wait, a barrier may be reused * multiple times without intervening calls to H5TS_barrier_init. * * Return: Non-negative on success / Negative on failure diff --git a/test/mirror_vfd.c b/test/mirror_vfd.c index 507d8ab3c7c..d2d32e65c3b 100644 --- a/test/mirror_vfd.c +++ b/test/mirror_vfd.c @@ -2445,7 +2445,7 @@ main(int argc, char **argv) /* TESTS */ if (nerrors == 0) { - H5FD_mirror_xmit_t xmit_mock; /* Re-used header in various xmit tests */ + H5FD_mirror_xmit_t xmit_mock; /* Reused header in various xmit tests */ /* Set bogus values matching expected; encoding doesn't care * Use sequential values to easily generate the expected buffer with a diff --git a/test/swmr.c b/test/swmr.c index b827f8ef52a..7aa0e97c42d 100644 --- a/test/swmr.c +++ b/test/swmr.c @@ -5625,7 +5625,7 @@ static int test_file_lock_swmr_concur(hid_t H5_ATTR_UNUSED in_fapl) { /* Output message about test being performed */ - TESTING("File open with different combintations of flags + SWMR flags--concurrent access"); + TESTING("File open with different combinations of flags + SWMR flags--concurrent access"); SKIPPED(); puts(" Test skipped due to fork or waitpid not defined."); return 0; @@ -5647,7 +5647,7 @@ test_file_lock_swmr_concur(hid_t in_fapl) int notify = 0; /* Output message about test being performed */ - TESTING("File open with different combintations of flags + SWMR flags--concurrent access"); + TESTING("File open with different combinations of flags + SWMR flags--concurrent access"); /* Set locking in the fapl */ if ((fapl = H5Pcopy(in_fapl)) < 0) diff --git a/test/tmisc.c b/test/tmisc.c index c614696dffc..2d0608301c7 100644 --- a/test/tmisc.c +++ b/test/tmisc.c @@ -354,7 +354,7 @@ typedef struct { /**************************************************************** ** ** test_misc1(): test unlinking a dataset from a group and immediately -** re-using the dataset name +** reusing the dataset name ** ****************************************************************/ static void @@ -7132,7 +7132,7 @@ test_misc(void H5_ATTR_UNUSED *params) /* Output message about test being performed */ MESSAGE(5, ("Testing Miscellaneous Routines\n")); - test_misc1(); /* Test unlinking a dataset & immediately re-using name */ + test_misc1(); /* Test unlinking a dataset & immediately reusing name */ test_misc2(); /* Test storing a VL-derived datatype in two different files */ test_misc3(); /* Test reading from chunked dataset with non-zero fill value */ test_misc4(); /* Test retrieving the fileno for various objects with H5Oget_info() */ diff --git a/test/ttsafe_thread_id.c b/test/ttsafe_thread_id.c index 9509a391f40..85f81ab90f1 100644 --- a/test/ttsafe_thread_id.c +++ b/test/ttsafe_thread_id.c @@ -62,7 +62,7 @@ thread_main(void H5_ATTR_UNUSED *arg) goto pre_barrier_error; } - /* Verify that the thread ID hasn't been re-used */ + /* Verify that the thread ID hasn't been reused */ if (used[tid - 2]) { TestErrPrintf("reused tid %" PRIu64 " FAIL\n", tid); H5TS_mutex_unlock(&used_lock); From 77e21758d9ec330133d7a81e3bcf45bf810e0958 Mon Sep 17 00:00:00 2001 From: Gerd Heber Date: Fri, 24 Jan 2025 07:14:14 -0600 Subject: [PATCH 3/6] Update Dockerfile (#5267) Added Ninja build tool. --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 8b942f5b6e9..77f384fd26f 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -2,4 +2,4 @@ FROM mcr.microsoft.com/devcontainers/base:debian RUN apt-get update && apt-get -y install --no-install-recommends \ build-essential cmake cmake-curses-gui doxygen git graphviz \ - less libtool-bin libyajl-dev mpi-default-dev valgrind wget \ No newline at end of file + less libtool-bin libyajl-dev mpi-default-dev ninja-build valgrind wget From 331c000e6a302614d153b443928f18819f0c4f41 Mon Sep 17 00:00:00 2001 From: Matt L <124107509+mattjala@users.noreply.github.com> Date: Fri, 24 Jan 2025 08:13:43 -0600 Subject: [PATCH 4/6] Add H5Tdecode2, rename and deprecate H5Tdecode (#5213) --- c++/src/H5DataType.cpp | 5 +- fortran/src/H5Tf.c | 41 ----------------- fortran/src/H5Tff.F90 | 41 +++++++++++------ fortran/src/H5f90proto.h | 1 - fortran/test/tH5T.F90 | 17 ++++++- java/src/hdf/hdf5lib/H5.java | 9 ++-- release_docs/RELEASE.txt | 17 +++++++ src/H5T.c | 21 +++++---- src/H5Tdeprec.c | 44 ++++++++++++++++++ src/H5Tpublic.h | 39 ++++++++++++++-- src/H5vers.txt | 1 + src/H5version.h | 31 +++++++++++++ test/dtypes.c | 88 ++++++++++++++++++++++++++++++++---- 13 files changed, 269 insertions(+), 86 deletions(-) diff --git a/c++/src/H5DataType.cpp b/c++/src/H5DataType.cpp index e864ed54bb9..55a32eac2a7 100644 --- a/c++/src/H5DataType.cpp +++ b/c++/src/H5DataType.cpp @@ -250,7 +250,7 @@ DataType::p_decode() const } // Call C function to decode the binary object description - hid_t encoded_dtype_id = H5Tdecode(encoded_buf); + hid_t encoded_dtype_id = H5Tdecode2(encoded_buf, buf_size); // If H5Tdecode fails, raise exception if (encoded_dtype_id < 0) { @@ -924,7 +924,8 @@ DataType::close() // Free and reset buffer of encoded object description if it's been used if (encoded_buf != NULL) { delete[] encoded_buf; - buf_size = 0; + encoded_buf = NULL; + buf_size = 0; } } } diff --git a/fortran/src/H5Tf.c b/fortran/src/H5Tf.c index f6992f91712..1c61cac273a 100644 --- a/fortran/src/H5Tf.c +++ b/fortran/src/H5Tf.c @@ -1890,47 +1890,6 @@ h5tcommitted_c(hid_t_f *dtype_id) return ret_value; } -/****if* H5Tf/h5tdecode_c - * NAME - * h5tdecode_c - * PURPOSE - * Call H5Tdecode - * INPUTS - * - * buf - Buffer for the data space object to be decoded. - * OUTPUTS - * - * obj_id - Object_id (non-negative) - * - * RETURNS - * 0 on success, -1 on failure - * SOURCE - */ - -int_f -h5tdecode_c(_fcd buf, hid_t_f *obj_id) -/******/ -{ - int ret_value = -1; - unsigned char *c_buf = NULL; /* Buffer to hold C string */ - hid_t c_obj_id; - - /* - * Call H5Tdecode function. - */ - - c_buf = (unsigned char *)buf; - - c_obj_id = H5Tdecode(c_buf); - if (c_obj_id < 0) - return ret_value; - - *obj_id = (hid_t_f)c_obj_id; - ret_value = 0; - - return ret_value; -} - /****if* H5Tf/h5tencode_c * NAME * h5tencode_c diff --git a/fortran/src/H5Tff.F90 b/fortran/src/H5Tff.F90 index 1416493e4d7..4e2c2d93c51 100644 --- a/fortran/src/H5Tff.F90 +++ b/fortran/src/H5Tff.F90 @@ -1855,32 +1855,47 @@ END SUBROUTINE h5tcommitted_f !> !! \ingroup FH5T !! -!! \brief Decode A binary object description of data type and return a new object handle. +!! \brief Decode a binary object description of data type and return a new object handle. !! -!! \param buf Buffer for the data space object to be decoded. -!! \param obj_id Object ID. -!! \param hdferr \fortran_error +!! \param buf Buffer for the data space object to be decoded. +!! \param obj_id Object ID. +!! \param hdferr \fortran_error +!! \param buf_size Size of the buffer. !! -!! See C API: @ref H5Tdecode() +!! See C API: @ref H5Tdecode2() !! - SUBROUTINE h5tdecode_f(buf, obj_id, hdferr) +SUBROUTINE h5tdecode_f(buf, obj_id, hdferr, buf_size) IMPLICIT NONE CHARACTER(LEN=*), INTENT(IN) :: buf INTEGER(HID_T), INTENT(OUT) :: obj_id INTEGER, INTENT(OUT) :: hdferr + INTEGER(SIZE_T), OPTIONAL, INTENT(IN) :: buf_size + + INTEGER(SIZE_T) :: buf_size_default + INTERFACE - INTEGER FUNCTION h5tdecode_c(buf, obj_id) BIND(C,NAME='h5tdecode_c') + INTEGER(HID_T) FUNCTION H5Tdecode2(buf, buf_size) BIND(C,NAME='H5Tdecode2') IMPORT :: C_CHAR - IMPORT :: HID_T + IMPORT :: HID_T, SIZE_T IMPLICIT NONE - CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: buf - INTEGER(HID_T), INTENT(OUT) :: obj_id - END FUNCTION h5tdecode_c + CHARACTER(KIND=C_CHAR), DIMENSION(*) :: buf + INTEGER(SIZE_T), VALUE :: buf_size + END FUNCTION H5Tdecode2 END INTERFACE - hdferr = h5tdecode_c(buf, obj_id) + IF(PRESENT(buf_size))THEN + buf_size_default = buf_size + ELSE + buf_size_default = LEN(buf) + ENDIF + + obj_id = H5Tdecode2(buf, buf_size_default) + + IF(obj_id.LT.0)THEN + hdferr = -1 + ENDIF - END SUBROUTINE h5tdecode_f +END SUBROUTINE h5tdecode_f !> !! \ingroup FH5T diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h index 55d36da33b3..5096cbcfbab 100644 --- a/fortran/src/H5f90proto.h +++ b/fortran/src/H5f90proto.h @@ -327,7 +327,6 @@ H5_FCDLL int_f h5tvlen_create_c(hid_t_f *type_id, hid_t_f *vltype_id); H5_FCDLL int_f h5tis_variable_str_c(hid_t_f *type_id, int_f *flag); H5_FCDLL int_f h5tget_member_class_c(hid_t_f *type_id, int_f *member_no, int_f *cls); H5_FCDLL int_f h5tcommit_anon_c(hid_t_f *loc_id, hid_t_f *dtype_id, hid_t_f *tcpl_id, hid_t_f *tapl_id); -H5_FCDLL int_f h5tdecode_c(_fcd buf, hid_t_f *obj_id); H5_FCDLL int_f h5tencode_c(_fcd buf, hid_t_f *obj_id, size_t_f *nalloc); H5_FCDLL int_f h5tget_create_plist_c(hid_t_f *dtype_id, hid_t_f *dtpl_id); H5_FCDLL int_f h5tcompiler_conv_c(hid_t_f *src_id, hid_t_f *dst_id, int_f *c_flag); diff --git a/fortran/test/tH5T.F90 b/fortran/test/tH5T.F90 index 2e006bc3a4f..6424230cdd4 100644 --- a/fortran/test/tH5T.F90 +++ b/fortran/test/tH5T.F90 @@ -109,6 +109,7 @@ SUBROUTINE compoundtest(cleanup, total_error) CHARACTER(LEN=1024) :: cmpd_buf INTEGER(SIZE_T) :: cmpd_buf_size=0 INTEGER(HID_T) :: decoded_tid1 + INTEGER(HID_T) :: decoded_tid2 INTEGER(HID_T) :: fixed_str1, fixed_str2 LOGICAL :: are_equal @@ -553,7 +554,10 @@ SUBROUTINE compoundtest(cleanup, total_error) CALL H5Tencode_f(dtype_id, cmpd_buf, cmpd_buf_size, error) CALL check("H5Tencode_f", error, total_error) - ! Try decoding bogus buffer + ! Try decoding bogus buffer with and without optional buffer size + + CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error, cmpd_buf_size) + CALL verify("H5Tdecode_f", error, -1, total_error) CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error) CALL verify("H5Tdecode_f", error, -1, total_error) @@ -562,7 +566,7 @@ SUBROUTINE compoundtest(cleanup, total_error) CALL check("H5Tencode_f", error, total_error) ! Decode from the compound buffer and return an object handle - CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error) + CALL H5Tdecode_f(cmpd_buf, decoded_tid1, error, cmpd_buf_size) CALL check("H5Tdecode_f", error, total_error) ! Verify that the datatype was copied exactly @@ -570,6 +574,15 @@ SUBROUTINE compoundtest(cleanup, total_error) CALL H5Tequal_f(decoded_tid1, dtype_id, flag, error) CALL check("H5Tequal_f", error, total_error) CALL verify("H5Tequal_f", flag, .TRUE., total_error) + + ! Decode from the compound buffer without the optional parameter + CALL H5Tdecode_f(cmpd_buf, decoded_tid2, error) + CALL check("H5Tdecode_f", error, total_error) + + ! Verify that the datatype was copied exactly + CALL H5Tequal_f(decoded_tid2, dtype_id, flag, error) + CALL check("H5Tequal_f", error, total_error) + ! ! Close all open objects. ! diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java index f630faba8e5..d8b778e6ad2 100644 --- a/java/src/hdf/hdf5lib/H5.java +++ b/java/src/hdf/hdf5lib/H5.java @@ -13865,6 +13865,9 @@ public static long H5Tcreate(int tclass, long size) throws HDF5LibraryException * @param buf * IN: Buffer for the data type object to be decoded. * + * @param buf_size + * IN: Size of the buffer. + * * @return a new object handle * * @exception HDF5LibraryException @@ -13872,9 +13875,9 @@ public static long H5Tcreate(int tclass, long size) throws HDF5LibraryException * @exception NullPointerException * buf is null. **/ - public static long H5Tdecode(byte[] buf) throws HDF5LibraryException, NullPointerException + public static long H5Tdecode(byte[] buf, long buf_size) throws HDF5LibraryException, NullPointerException { - long id = _H5Tdecode(buf); + long id = _H5Tdecode(buf, buf_size); if (id > 0) { log.trace("OPEN_IDS: H5Tdecode add {}", id); OPEN_IDS.add(id); @@ -13883,7 +13886,7 @@ public static long H5Tdecode(byte[] buf) throws HDF5LibraryException, NullPointe return id; } - private synchronized static native long _H5Tdecode(byte[] buf) + private synchronized static native long _H5Tdecode(byte[] buf, long buf_size) throws HDF5LibraryException, NullPointerException; /** diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index e870c4321cf..a7d67f698c5 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -180,6 +180,23 @@ New Features H5Iregister_type() will map to the new signature unless the library is explicitly configured to use an older version of the API. + - The H5Tdecode() signature has changed + + When provided malformed or too-small buffers, H5Tdecode() would crash. + The new buffer size parameter allows this to be reliably avoided. + + The old signature has been renamed to H5Tdecode1() and is considered + deprecated: + + hid_t H5Tdecode1(const void *buf); + + The new signature is H5Tdecode2(). New code should use this version: + + hid_t H5Tdecode2(const void *buf, size_t buf_size); + + H5Tdecode() will map to the new signature unless the library is + explicitly configured to use an older version of the API. + - H5F_LIBVER_LATEST is now an enum value This was previously #defined to the latest H5F_libver_t API version, but diff --git a/src/H5T.c b/src/H5T.c index b795aa0be36..12fc4ae0be2 100644 --- a/src/H5T.c +++ b/src/H5T.c @@ -3691,7 +3691,7 @@ H5Tencode(hid_t obj_id, void *buf, size_t *nalloc) } /* end H5Tencode() */ /*------------------------------------------------------------------------- - * Function: H5Tdecode + * Function: H5Tdecode2 * * Purpose: Decode a binary object description and return a new object * handle. @@ -3703,7 +3703,7 @@ H5Tencode(hid_t obj_id, void *buf, size_t *nalloc) *------------------------------------------------------------------------- */ hid_t -H5Tdecode(const void *buf) +H5Tdecode2(const void *buf, size_t buf_size) { H5T_t *dt; hid_t ret_value; /* Return value */ @@ -3714,13 +3714,8 @@ H5Tdecode(const void *buf) if (buf == NULL) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "empty buffer"); - /* Create datatype by decoding buffer - * There is no way to get the size of the buffer, so we pass in - * SIZE_MAX and assume the caller knows what they are doing. - * Really fixing this will require an H5Tdecode2() call that - * takes a size parameter. - */ - if (NULL == (dt = H5T_decode(SIZE_MAX, (const unsigned char *)buf))) + /* Create datatype by decoding buffer */ + if (NULL == (dt = H5T_decode(buf_size, buf))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, H5I_INVALID_HID, "can't decode object"); /* Register the type and return the ID */ @@ -3729,7 +3724,7 @@ H5Tdecode(const void *buf) done: FUNC_LEAVE_API(ret_value) -} /* end H5Tdecode() */ +} /* end H5Tdecode2() */ /*------------------------------------------------------------------------- * API functions are above; library-private functions are below... @@ -3812,10 +3807,16 @@ H5T_decode(size_t buf_size, const unsigned char *buf) if (NULL == (f = H5F_fake_alloc((uint8_t)0))) HGOTO_ERROR(H5E_DATATYPE, H5E_CANTALLOC, NULL, "can't allocate fake file struct"); + if (buf_size != SIZE_MAX && H5_IS_BUFFER_OVERFLOW(buf, 1, buf + buf_size - 1)) + HGOTO_ERROR(H5E_DATATYPE, H5E_BADMESG, NULL, "buffer too small to be datatype message"); + /* Decode the type of the information */ if (*buf++ != H5O_DTYPE_ID) HGOTO_ERROR(H5E_DATATYPE, H5E_BADMESG, NULL, "not an encoded datatype"); + if (buf_size != SIZE_MAX && H5_IS_BUFFER_OVERFLOW(buf, 1, buf + buf_size - 1)) + HGOTO_ERROR(H5E_DATATYPE, H5E_BADMESG, NULL, "buffer too small to be datatype message"); + /* Decode the version of the datatype information */ if (*buf++ != H5T_ENCODE_VERSION) HGOTO_ERROR(H5E_DATATYPE, H5E_VERSION, NULL, "unknown version of encoded datatype"); diff --git a/src/H5Tdeprec.c b/src/H5Tdeprec.c index 8350cbb8af8..3c9bdf97fcc 100644 --- a/src/H5Tdeprec.c +++ b/src/H5Tdeprec.c @@ -187,4 +187,48 @@ H5Topen1(hid_t loc_id, const char *name) FUNC_LEAVE_API(ret_value) } /* end H5Topen1() */ + +/*------------------------------------------------------------------------- + * Function: H5Tdecode1 + * + * Purpose: Decode a binary object description and return a new object + * handle. + * + * Note: Deprecated in favor of H5Tdecode2 + * + * Return: Success: datatype ID(non-negative) + * + * Failure: negative + * + *------------------------------------------------------------------------- + */ +hid_t +H5Tdecode1(const void *buf) +{ + H5T_t *dt; + hid_t ret_value; /* Return value */ + + FUNC_ENTER_API(H5I_INVALID_HID) + + /* Check args */ + if (buf == NULL) + HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, H5I_INVALID_HID, "empty buffer"); + + /* Create datatype by decoding buffer + * There is no way to get the size of the buffer, so we pass in + * SIZE_MAX and assume the caller knows what they are doing. + * Really fixing this will require an H5Tdecode2() call that + * takes a size parameter. + */ + if (NULL == (dt = H5T_decode(SIZE_MAX, (const unsigned char *)buf))) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTDECODE, H5I_INVALID_HID, "can't decode object"); + + /* Register the type and return the ID */ + if ((ret_value = H5I_register(H5I_DATATYPE, dt, true)) < 0) + HGOTO_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, H5I_INVALID_HID, "unable to register data type"); + +done: + FUNC_LEAVE_API(ret_value) +} /* end H5Tdecode1() */ + #endif /* H5_NO_DEPRECATED_SYMBOLS */ diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h index 83083a48434..28670b4dfb3 100644 --- a/src/H5Tpublic.h +++ b/src/H5Tpublic.h @@ -1452,11 +1452,12 @@ H5_DLL herr_t H5Tencode(hid_t obj_id, void *buf, size_t *nalloc); * object handle * * \param[in] buf Buffer for the datatype object to be decoded + * \param[in] buf_size Size of the buffer * * \return \hid_t{datatype} * - * \details H5Tdecode() Given an object description of datatype in binary in a - * buffer, H5Tdecode() reconstructs the HDF5 datatype object and + * \details H5Tdecode2() Given an object description of datatype in binary in a + * buffer, H5Tdecode2() reconstructs the HDF5 datatype object and * returns a new object handle for it. The binary description of * the object is encoded by H5Tencode(). User is responsible for * passing in the right buffer. @@ -1465,10 +1466,11 @@ H5_DLL herr_t H5Tencode(hid_t obj_id, void *buf, size_t *nalloc); * with H5Tclose() when the identifier is no longer needed so that * resource leaks will not develop. * - * \since 1.2.0 + * \since 2.0.0 * */ -H5_DLL hid_t H5Tdecode(const void *buf); +H5_DLL hid_t H5Tdecode2(const void *buf, size_t buf_size); + /** * \ingroup H5T * @@ -2910,6 +2912,35 @@ H5_DLL herr_t H5Treclaim(hid_t type_id, hid_t space_id, hid_t plist_id, void *bu /* Typedefs */ /* Function prototypes */ +/** + * \ingroup H5T + * + * \brief Decodes a binary object description of datatype and returns a new + * object handle + * + * \param[in] buf Buffer for the datatype object to be decoded + * + * \return \hid_t{datatype} + * + * \deprecated This function has been renamed from H5Tdecode() and is + * deprecated in favor of the macro #H5Tdecode or the function + * H5Tdecode2(). + * + * \details H5Tdecode1() Given an object description of datatype in binary in a + * buffer, H5Tdecode() reconstructs the HDF5 datatype object and + * returns a new object handle for it. The binary description of + * the object is encoded by H5Tencode(). User is responsible for + * passing in the right buffer. + * + * The datatype identifier returned by this function can be released + * with H5Tclose() when the identifier is no longer needed so that + * resource leaks will not develop. + * \version 2.0.0 C function H5Tdecode() renamed to H5Tdecode1() and deprecated + * in this release. + * \since 1.8.0 + * + */ +H5_DLL hid_t H5Tdecode1(const void *buf); /** * \ingroup H5T * diff --git a/src/H5vers.txt b/src/H5vers.txt index ce17f889c7b..de65f1298c1 100644 --- a/src/H5vers.txt +++ b/src/H5vers.txt @@ -86,6 +86,7 @@ FUNCTION: H5Tarray_create; ; v14, v18 FUNCTION: H5Tcommit; ; v10, v18 FUNCTION: H5Tget_array_dims; ; v14, v18 FUNCTION: H5Topen; ; v10, v18 +FUNCTION: H5Tdecode; ; v18, v200 # API typedefs # (although not required, it's easier to compare this file with the headers diff --git a/src/H5version.h b/src/H5version.h index 9fe80159695..55b2e22ff55 100644 --- a/src/H5version.h +++ b/src/H5version.h @@ -312,6 +312,10 @@ #define H5Tcommit_vers 2 #endif /* !defined(H5Tcommit_vers) */ +#if !defined(H5Tdecode_vers) + #define H5Tdecode_vers 1 +#endif /* !defined(H5Tdecode_vers) */ + #if !defined(H5Tget_array_dims_vers) #define H5Tget_array_dims_vers 2 #endif /* !defined(H5Tget_array_dims_vers) */ @@ -488,6 +492,10 @@ #define H5Tcommit_vers 2 #endif /* !defined(H5Tcommit_vers) */ +#if !defined(H5Tdecode_vers) + #define H5Tdecode_vers 1 +#endif /* !defined(H5Tdecode_vers) */ + #if !defined(H5Tget_array_dims_vers) #define H5Tget_array_dims_vers 2 #endif /* !defined(H5Tget_array_dims_vers) */ @@ -664,6 +672,10 @@ #define H5Tcommit_vers 2 #endif /* !defined(H5Tcommit_vers) */ +#if !defined(H5Tdecode_vers) + #define H5Tdecode_vers 1 +#endif /* !defined(H5Tdecode_vers) */ + #if !defined(H5Tget_array_dims_vers) #define H5Tget_array_dims_vers 2 #endif /* !defined(H5Tget_array_dims_vers) */ @@ -840,6 +852,10 @@ #define H5Tcommit_vers 2 #endif /* !defined(H5Tcommit_vers) */ +#if !defined(H5Tdecode_vers) + #define H5Tdecode_vers 1 +#endif /* !defined(H5Tdecode_vers) */ + #if !defined(H5Tget_array_dims_vers) #define H5Tget_array_dims_vers 2 #endif /* !defined(H5Tget_array_dims_vers) */ @@ -1016,6 +1032,10 @@ #define H5Tcommit_vers 2 #endif /* !defined(H5Tcommit_vers) */ +#if !defined(H5Tdecode_vers) + #define H5Tdecode_vers 2 +#endif /* !defined(H5Tdecode_vers) */ + #if !defined(H5Tget_array_dims_vers) #define H5Tget_array_dims_vers 2 #endif /* !defined(H5Tget_array_dims_vers) */ @@ -1472,6 +1492,17 @@ #error "H5Tcommit_vers set to invalid value" #endif /* H5Tcommit_vers */ +#if !defined(H5Tdecode_vers) || H5Tdecode_vers == 2 + #ifndef H5Tdecode_vers + #define H5Tdecode_vers 2 + #endif /* H5Tdecode_vers */ + #define H5Tdecode H5Tdecode2 +#elif H5Tdecode_vers == 1 + #define H5Tdecode H5Tdecode1 +#else /* H5Tdecode_vers */ + #error "H5Tdecode_vers set to invalid value" +#endif /* H5Tdecode_vers */ + #if !defined(H5Tget_array_dims_vers) || H5Tget_array_dims_vers == 2 #ifndef H5Tget_array_dims_vers #define H5Tget_array_dims_vers 2 diff --git a/test/dtypes.c b/test/dtypes.c index e0513e4b25f..3863f492523 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -8926,7 +8926,7 @@ test_set_size_invalid(void) *------------------------------------------------------------------------- */ static int -test_encode(void) +test_encode(bool H5_ATTR_DEPRECATED_USED use_old_decode_api) { struct cmpd { int a; @@ -8954,8 +8954,11 @@ test_encode(void) unsigned char *vlstr_buf = NULL; hid_t ret_id; herr_t ret; + char test_msg[128]; - TESTING("functions of encoding and decoding datatypes"); + snprintf(test_msg, sizeof(test_msg), "%s functions of encoding and decoding datatypes", + use_old_decode_api ? "old" : "new"); + TESTING(test_msg); /* Create File */ h5_fixname(FILENAME[5], H5P_DEFAULT, filename, sizeof filename); @@ -9059,7 +9062,14 @@ test_encode(void) /* Try decoding an incorrect (empty) buffer (should fail) */ H5E_BEGIN_TRY { - ret_id = H5Tdecode(cmpd_buf); +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + ret_id = H5Tdecode1(cmpd_buf); + else + ret_id = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#else + ret_id = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#endif } H5E_END_TRY if (ret_id != FAIL) { @@ -9075,7 +9085,16 @@ test_encode(void) } /* Decode from the compound buffer and return an object handle */ - if ((decoded_tid1 = H5Tdecode(cmpd_buf)) < 0) +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid1 = H5Tdecode1(cmpd_buf); + else + decoded_tid1 = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#else + decoded_tid1 = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#endif + + if (decoded_tid1 < 0) FAIL_PUTS_ERROR("Can't decode compound type\n"); /* Verify that the datatype was copied exactly */ @@ -9114,7 +9133,16 @@ test_encode(void) } /* Decode from the enumerate buffer and return an object handle */ - if ((decoded_tid2 = H5Tdecode(enum_buf)) < 0) { +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid2 = H5Tdecode1(enum_buf); + else + decoded_tid2 = H5Tdecode2(enum_buf, enum_buf_size); +#else + decoded_tid2 = H5Tdecode2(enum_buf, enum_buf_size); +#endif + + if (decoded_tid2 < 0) { H5_FAILED(); printf("Can't decode enumerate type\n"); goto error; @@ -9156,7 +9184,16 @@ test_encode(void) } /* Decode from the VL string buffer and return an object handle */ - if ((decoded_tid3 = H5Tdecode(vlstr_buf)) < 0) { +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid3 = H5Tdecode1(vlstr_buf); + else + decoded_tid3 = H5Tdecode2(vlstr_buf, vlstr_buf_size); +#else + decoded_tid3 = H5Tdecode2(vlstr_buf, vlstr_buf_size); +#endif + + if (decoded_tid3 < 0) { H5_FAILED(); printf("Can't decode VL string type\n"); goto error; @@ -9264,7 +9301,16 @@ test_encode(void) } /* Decode from the compound buffer and return an object handle */ - if ((decoded_tid1 = H5Tdecode(cmpd_buf)) < 0) +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid1 = H5Tdecode1(cmpd_buf); + else + decoded_tid1 = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#else + decoded_tid1 = H5Tdecode2(cmpd_buf, cmpd_buf_size); +#endif + + if (decoded_tid1 < 0) FAIL_PUTS_ERROR("Can't decode compound type\n"); /* Verify that the datatype was copied exactly */ @@ -9303,7 +9349,16 @@ test_encode(void) } /* Decode from the enumerate buffer and return an object handle */ - if ((decoded_tid2 = H5Tdecode(enum_buf)) < 0) { +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid2 = H5Tdecode1(enum_buf); + else + decoded_tid2 = H5Tdecode2(enum_buf, enum_buf_size); +#else + decoded_tid2 = H5Tdecode2(enum_buf, enum_buf_size); +#endif + + if (decoded_tid2 < 0) { H5_FAILED(); printf("Can't decode enumerate type\n"); goto error; @@ -9345,11 +9400,21 @@ test_encode(void) } /* Decode from the VL string buffer and return an object handle */ - if ((decoded_tid3 = H5Tdecode(vlstr_buf)) < 0) { +#ifndef H5_NO_DEPRECATED_SYMBOLS + if (use_old_decode_api) + decoded_tid3 = H5Tdecode1(vlstr_buf); + else + decoded_tid3 = H5Tdecode2(vlstr_buf, vlstr_buf_size); +#else + decoded_tid3 = H5Tdecode2(vlstr_buf, vlstr_buf_size); +#endif + + if (decoded_tid3 < 0) { H5_FAILED(); printf("Can't decode VL string type\n"); goto error; } + free(vlstr_buf); /* Verify that the datatype was copied exactly */ @@ -12825,7 +12890,10 @@ main(void) nerrors += test_set_fields_offset(); nerrors += test_transient(fapl); nerrors += test_named(fapl); - nerrors += test_encode(); +#ifndef H5_NO_DEPRECATED_SYMBOLS + nerrors += test_encode(true); +#endif /* H5_NO_DEPRECATED_SYMBOLS */ + nerrors += test_encode(false); nerrors += test_latest(); nerrors += test_int_float_except(); nerrors += test_named_indirect_reopen(fapl); From 455601a0c919da29e9b3c433172743eb9cbbcb93 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Fri, 24 Jan 2025 06:31:35 -0800 Subject: [PATCH 5/6] Simplify the .gitattributes file (#5268) * Removes all per-file attributes, many of which were incorrectly removing the text attribute from text/source files * Removes all svneol attributes (not sure where those came from, but they don't appear in the git attributes docs) * Marks *.h5 and certain test files as binary * Removes the !eol attribute, which is unnecessary given text=auto and default git text handling --- .gitattributes | 878 +------------------------------------------------ 1 file changed, 3 insertions(+), 875 deletions(-) diff --git a/.gitattributes b/.gitattributes index 4ae913ea368..82f8d586ef1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,875 +1,3 @@ -* text=auto !eol -bin/genparser -text -bin/switch_maint_mode -text -c++/src/H5OcreatProp.cpp -text -c++/src/H5OcreatProp.h -text -c++/src/footer.html -text -c++/src/header_files/hdf_logo.jpg -text -c++/src/header_files/help.jpg -text -c++/src/header_files/image001.jpg -text -c++/src/header_files/image002.jpg -text -c++/test/tarray.cpp -text -c++/test/th5s.h5 -text -config/cce-fflags -text -config/cce-flags -text -config/cmake/CMakeFindJavaCommon.cmake -text -config/cmake/CPack.Info.plist.in -text svneol=unset#application/xml -config/cmake/FindHDFJAVA.cmake.in -text -config/cmake/FindJNI.cmake -text -config/cmake/HDF5UseFortran.cmake -text -config/cmake/HDF5_Examples.cmake.in -text -config/cmake/HDF5_Process_Flex_Files.cmake -text -config/cmake/HDFCompilerFlags.cmake -text -config/cmake/UseJava.cmake -text -config/cmake/UseJavaClassFilelist.cmake -text -config/cmake/UseJavaSymlinks.cmake -text -config/cmake/jrunTest.cmake -text -config/cmake/patch.xml -text -config/cmake/scripts/CTestScript.cmake -text -config/cmake/scripts/HDF5config.cmake -text -config/cmake_ext_mod/hdf.bmp -text -config/cmake_ext_mod/hdf.icns -text -config/cmake_ext_mod/hdf.ico -text -config/conclude_fc.am -text -config/gnu-cxxflags -text -examples/h5_vds-eiger.c -text -examples/h5_vds-exc.c -text -examples/h5_vds-exclim.c -text -examples/h5_vds-percival-unlim-maxmin.c -text -examples/h5_vds-percival-unlim.c -text -examples/h5_vds-percival.c -text -examples/h5_vds-simpleIO.c -text -examples/h5_vds.c -text -fortran/src/H5_buildiface.F90 -text -fortran/src/H5config_f.inc.cmake -text -fortran/src/H5config_f.inc.in -text -fortran/src/H5fort_type_defines.h.in -text -fortran/src/H5fortkit.F90 -text -fortran/test/H5_test_buildiface.F90 -text -hl/fortran/src/H5HL_buildiface.F90 -text -hl/fortran/src/hdf5_hl_fortrandll.def.in -text -hl/src/H5LD.c -text -hl/src/H5LDprivate.h -text -hl/src/H5LDpublic.h -text -hl/src/H5LTanalyze.c -text -hl/src/H5LTparse.c -text -hl/src/H5LTparse.h -text -hl/test/gen_test_ds.c svneol=native#text/plain -hl/test/gen_test_ld.c -text -hl/test/test_ds_be.h5 -text -hl/test/test_ds_le.h5 -text -hl/test/test_dset_append.c -text -hl/test/test_ld.c -text -hl/test/test_ld.h5 -text -hl/test/test_packet_vlen.c -text -hl/test/test_table_be.h5 -text -hl/test/test_table_cray.h5 -text -hl/test/test_table_le.h5 -text -hl/tools/gif2h5/CMakeLists.txt -text -hl/tools/gif2h5/CMakeTests.cmake -text -hl/tools/gif2h5/testfiles/README -text -hl/tools/gif2h5/testfiles/ex_image2.h5 -text -hl/tools/gif2h5/testfiles/h52giftst.h5 -text -hl/tools/gif2h5/testfiles/image1.gif -text -java/CMakeLists.txt -text -java/Makefile.am -text -java/examples/CMakeLists.txt -text -java/examples/Makefile.am -text -java/examples/datasets/CMakeLists.txt -text -java/examples/datasets/H5Ex_D_Alloc.java -text -java/examples/datasets/H5Ex_D_Checksum.java -text -java/examples/datasets/H5Ex_D_Chunk.java -text -java/examples/datasets/H5Ex_D_Compact.java -text -java/examples/datasets/H5Ex_D_External.java -text -java/examples/datasets/H5Ex_D_FillValue.java -text -java/examples/datasets/H5Ex_D_Gzip.java -text -java/examples/datasets/H5Ex_D_Hyperslab.java -text -java/examples/datasets/H5Ex_D_Nbit.java -text -java/examples/datasets/H5Ex_D_ReadWrite.java -text -java/examples/datasets/H5Ex_D_Shuffle.java -text -java/examples/datasets/H5Ex_D_Sofloat.java -text -java/examples/datasets/H5Ex_D_Soint.java -text -java/examples/datasets/H5Ex_D_Szip.java -text -java/examples/datasets/H5Ex_D_Transform.java -text -java/examples/datasets/H5Ex_D_UnlimitedAdd.java -text -java/examples/datasets/H5Ex_D_UnlimitedGzip.java -text -java/examples/datasets/H5Ex_D_UnlimitedMod.java -text -java/examples/datasets/Makefile.am -text -java/examples/datasets/runExample.sh.in -text -java/examples/datatypes/CMakeLists.txt -text -java/examples/datatypes/H5Ex_T_Array.java -text -java/examples/datatypes/H5Ex_T_ArrayAttribute.java -text -java/examples/datatypes/H5Ex_T_Bit.java -text -java/examples/datatypes/H5Ex_T_BitAttribute.java -text -java/examples/datatypes/H5Ex_T_Commit.java -text -java/examples/datatypes/H5Ex_T_Compound.java -text -java/examples/datatypes/H5Ex_T_CompoundAttribute.java -text -java/examples/datatypes/H5Ex_T_Float.java -text -java/examples/datatypes/H5Ex_T_FloatAttribute.java -text -java/examples/datatypes/H5Ex_T_Integer.java -text -java/examples/datatypes/H5Ex_T_IntegerAttribute.java -text -java/examples/datatypes/H5Ex_T_ObjectReference.java -text -java/examples/datatypes/H5Ex_T_ObjectReferenceAttribute.java -text -java/examples/datatypes/H5Ex_T_Opaque.java -text -java/examples/datatypes/H5Ex_T_OpaqueAttribute.java -text -java/examples/datatypes/H5Ex_T_String.java -text -java/examples/datatypes/H5Ex_T_StringAttribute.java -text -java/examples/datatypes/H5Ex_T_VLString.java -text -java/examples/datatypes/Makefile.am -text -java/examples/datatypes/runExample.sh.in -text -java/examples/groups/CMakeLists.txt -text -java/examples/groups/H5Ex_G_Compact.java -text -java/examples/groups/H5Ex_G_Corder.java -text -java/examples/groups/H5Ex_G_Create.java -text -java/examples/groups/H5Ex_G_Intermediate.java -text -java/examples/groups/H5Ex_G_Iterate.java -text -java/examples/groups/H5Ex_G_Phase.java -text -java/examples/groups/H5Ex_G_Traverse.java -text -java/examples/groups/H5Ex_G_Visit.java -text -java/examples/groups/Makefile.am -text -java/examples/groups/h5ex_g_iterate.h5 -text svneol=unset#application/x-hdf -java/examples/groups/h5ex_g_visit.h5 -text svneol=unset#application/x-hdf -java/examples/groups/runExample.sh.in -text -java/examples/intro/CMakeLists.txt -text -java/examples/intro/H5_CreateAttribute.java -text -java/examples/intro/H5_CreateDataset.java -text -java/examples/intro/H5_CreateFile.java -text -java/examples/intro/H5_CreateGroup.java -text -java/examples/intro/H5_CreateGroupAbsoluteRelative.java -text -java/examples/intro/H5_CreateGroupDataset.java -text -java/examples/intro/H5_ReadWrite.java -text -java/examples/intro/Makefile.am -text -java/examples/intro/runExample.sh.in -text -java/examples/testfiles/examples.datasets.H5Ex_D_Alloc.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Checksum.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Chunk.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Compact.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_External.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_FillValue.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Gzip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Hyperslab.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Nbit.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_ReadWrite.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Shuffle.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Sofloat.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Soint.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Szip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_Transform.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedAdd.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedGzip.txt -text -java/examples/testfiles/examples.datasets.H5Ex_D_UnlimitedMod.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Array.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ArrayAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Bit.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_BitAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Commit.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Compound.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_CompoundAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Float.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_FloatAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Integer.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_IntegerAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ObjectReference.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_ObjectReferenceAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_Opaque.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_OpaqueAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_String.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_StringAttribute.txt -text -java/examples/testfiles/examples.datatypes.H5Ex_T_VLString.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Compact.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Corder.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Create.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Intermediate.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Iterate.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Phase.txt -text -java/examples/testfiles/examples.groups.H5Ex_G_Visit.txt -text -java/examples/testfiles/examples.intro.H5_CreateAttribute.txt -text -java/examples/testfiles/examples.intro.H5_CreateDataset.txt -text -java/examples/testfiles/examples.intro.H5_CreateFile.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroup.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroupAbsoluteRelative.txt -text -java/examples/testfiles/examples.intro.H5_CreateGroupDataset.txt -text -java/examples/testfiles/examples.intro.H5_ReadWrite.txt -text -java/lib/ext/slf4j-nop-2.0.6.jar -text svneol=unset#application/zip -java/lib/ext/slf4j-simple-2.0.6.jar -text svneol=unset#application/zip -java/lib/hamcrest-core.jar -text svneol=unset#application/java-archive -java/lib/junit.jar -text svneol=unset#application/java-archive -java/lib/simplelogger.properties -text -java/lib/slf4j-api-2.0.6.jar -text svneol=unset#application/zip -java/src/CMakeLists.txt -text -java/src/Makefile.am -text -java/src/hdf/CMakeLists.txt -text -java/src/hdf/hdf5lib/CMakeLists.txt -text -java/src/hdf/hdf5lib/H5.java -text -java/src/hdf/hdf5lib/HDF5Constants.java -text -java/src/hdf/hdf5lib/HDFArray.java -text -java/src/hdf/hdf5lib/HDFNativeData.java -text -java/src/hdf/hdf5lib/callbacks/H5Callbacks.java -text -java/src/hdf/hdf5lib/callbacks/H5A_iterate_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5A_iterate_t.java -text -java/src/hdf/hdf5lib/callbacks/H5D_append_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5D_append_t.java -text -java/src/hdf/hdf5lib/callbacks/H5D_iterate_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5D_iterate_t.java -text -java/src/hdf/hdf5lib/callbacks/H5E_walk_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5E_walk_t.java -text -java/src/hdf/hdf5lib/callbacks/H5L_iterate_t.java -text -java/src/hdf/hdf5lib/callbacks/H5L_iterate_opdata_t.java -text -java/src/hdf/hdf5lib/callbacks/H5O_iterate_t.java -text -java/src/hdf/hdf5lib/callbacks/H5O_iterate_opdata_t.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_close_func_t.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_copy_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_copy_func_t.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_create_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_cls_create_func_t.java -text -java/src/hdf/hdf5lib/callbacks/H5P_iterate_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_iterate_t.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_close_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_compare_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_copy_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_create_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_delete_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_get_func_cb.java -text -java/src/hdf/hdf5lib/callbacks/H5P_prp_set_func_cb.java -text -java/src/hdf/hdf5lib/exceptions/HDF5AtomException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5AttributeException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5BtreeException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5DataFiltersException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5DataStorageException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5DatasetInterfaceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5DataspaceInterfaceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5DatatypeInterfaceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5Exception.java -text -java/src/hdf/hdf5lib/exceptions/HDF5ExternalFileListException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5FileInterfaceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5FunctionArgumentException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5FunctionEntryExitException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5HeapException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5InternalErrorException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5JavaException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5LibraryException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5LowLevelIOException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5MetaDataCacheException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5ObjectHeaderException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5PropertyListInterfaceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5ReferenceException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5ResourceUnavailableException.java -text -java/src/hdf/hdf5lib/exceptions/HDF5SymbolTableException.java -text -java/src/hdf/hdf5lib/structs/H5AC_cache_config_t.java -text -java/src/hdf/hdf5lib/structs/H5A_info_t.java -text -java/src/hdf/hdf5lib/structs/H5E_error2_t.java -text -java/src/hdf/hdf5lib/structs/H5F_info2_t.java -text -java/src/hdf/hdf5lib/structs/H5G_info_t.java -text -java/src/hdf/hdf5lib/structs/H5L_info_t.java -text -java/src/hdf/hdf5lib/structs/H5O_hdr_info_t.java -text -java/src/hdf/hdf5lib/structs/H5O_info_t.java -text -java/src/hdf/hdf5lib/structs/H5O_native_info_t.java -text -java/src/hdf/hdf5lib/structs/H5O_token_t.java -text -java/src/hdf/hdf5lib/structs/H5_ih_info_t.java -text -java/src/hdf/overview.html -text -java/src/jni/CMakeLists.txt -text -java/src/jni/Makefile.am -text -java/src/jni/exceptionImp.c -text -java/src/jni/exceptionImp.h -text -java/src/jni/h5Constants.c -text -java/src/jni/h5Imp.c -text -java/src/jni/h5Imp.h -text -java/src/jni/h5aImp.c -text -java/src/jni/h5aImp.h -text -java/src/jni/h5dImp.c -text -java/src/jni/h5dImp.h -text -java/src/jni/h5eImp.c -text -java/src/jni/h5eImp.h -text -java/src/jni/h5fImp.c -text -java/src/jni/h5fImp.h -text -java/src/jni/h5gImp.c -text -java/src/jni/h5gImp.h -text -java/src/jni/h5iImp.c -text -java/src/jni/h5iImp.h -text -java/src/jni/h5jni.h -text -java/src/jni/h5lImp.c -text -java/src/jni/h5lImp.h -text -java/src/jni/h5oImp.c -text -java/src/jni/h5oImp.h -text -java/src/jni/h5pImp.c -text -java/src/jni/h5pImp.h -text -java/src/jni/h5plImp.c -text -java/src/jni/h5plImp.h -text -java/src/jni/h5rImp.c -text -java/src/jni/h5rImp.h -text -java/src/jni/h5sImp.c -text -java/src/jni/h5sImp.h -text -java/src/jni/h5tImp.c -text -java/src/jni/h5tImp.h -text -java/src/jni/h5util.c -text -java/src/jni/h5util.h -text -java/src/jni/h5zImp.c -text -java/src/jni/h5zImp.h -text -java/src/jni/nativeData.c -text -java/src/jni/nativeData.h -text -java/test/CMakeLists.txt -text -java/test/JUnit-interface.ert -text -java/test/JUnit-interface.txt -text -java/test/Makefile.am -text -java/test/TestAll.java -text -java/test/TestH5.java -text -java/test/TestH5A.java -text -java/test/TestH5D.java -text -java/test/TestH5Dparams.java -text -java/test/TestH5Dplist.java -text -java/test/TestH5E.java -text -java/test/TestH5Edefault.java -text -java/test/TestH5Eparams.java -text -java/test/TestH5Eregister.java -text -java/test/TestH5F.java -text -java/test/TestH5Fbasic.java -text -java/test/TestH5Fparams.java -text -java/test/TestH5G.java -text -java/test/TestH5Gbasic.java -text -java/test/TestH5Giterate.java -text -java/test/TestH5Lbasic.java -text -java/test/TestH5Lcreate.java -text -java/test/TestH5Lparams.java -text -java/test/TestH5Obasic.java -text -java/test/TestH5Ocopy.java -text -java/test/TestH5Ocreate.java -text -java/test/TestH5Oparams.java -text -java/test/TestH5P.java -text -java/test/TestH5PData.java -text -java/test/TestH5PL.java -text -java/test/TestH5Pfapl.java -text -java/test/TestH5Plist.java -text -java/test/TestH5Pvirtual.java -text -java/test/TestH5R.java -text -java/test/TestH5S.java -text -java/test/TestH5Sbasic.java -text -java/test/TestH5T.java -text -java/test/TestH5Tbasic.java -text -java/test/TestH5Tparams.java -text -java/test/TestUnit.java -text -java/test/TestH5Z.java -text -java/test/h5ex_g_iterate.orig -text svneol=unset#application/x-hdf -java/test/junit.sh.in -text -m4/aclocal_cxx.m4 -text -m4/aclocal_fc.f90 -text -m4/aclocal_fc.m4 -text -m4/ax_check_class.m4 -text -m4/ax_check_classpath.m4 -text -m4/ax_check_java_home.m4 -text -m4/ax_check_junit.m4 -text -m4/ax_check_rqrd_class.m4 -text -m4/ax_java_check_class.m4 -text -m4/ax_java_options.m4 -text -m4/ax_jni_include_dir.m4 -text -m4/ax_prog_doxygen.m4 -text -m4/ax_prog_jar.m4 -text -m4/ax_prog_java.m4 -text -m4/ax_prog_java_cc.m4 -text -m4/ax_prog_java_works.m4 -text -m4/ax_prog_javac.m4 -text -m4/ax_prog_javac_works.m4 -text -m4/ax_prog_javadoc.m4 -text -m4/ax_prog_javah.m4 -text -m4/ax_try_compile_java.m4 -text -m4/ax_try_run_java.m4 -text -src/H5Cepoch.c -text -src/H5Cquery.c -text -src/H5Ctag.c -text -src/H5Ctest.c -text -src/H5Dnone.c -text -src/H5Dsingle.c -text -src/H5Oflush.c -text -test/bad_compound.h5 -text -test/be_data.h5 -text -test/be_extlink1.h5 -text -test/be_extlink2.h5 -text -test/btree_idx_1_6.h5 -text -test/btree_idx_1_8.h5 -text -test/cork.c -text -test/corrupt_stab_msg.h5 -text -test/deflate.h5 -text -test/dynlib4.c -text -test/family_v16-000000.h5 -text -test/family_v16-000001.h5 -text -test/family_v16-000002.h5 -text -test/family_v16-000003.h5 -text -test/file_image_core_test.h5 -text -test/filespace_1_6.h5 -text -test/filespace_1_8.h5 -text -test/fill_old.h5 -text -test/filter_error.h5 -text -test/group_old.h5 -text -test/le_data.h5 -text -test/le_extlink1.h5 -text -test/le_extlink2.h5 -text -test/mergemsg.h5 -text svneol=unset#application/hdf5 -test/multi_file_v16-r.h5 -text -test/multi_file_v16-s.h5 -text -test/noencoder.h5 -text -test/specmetaread.h5 -text -test/tarrold.h5 -text -test/tbad_msg_count.h5 -text -test/tbogus.h5 -text -test/test_filters_be.h5 -text -test/test_filters_le.h5 -text -test/testfiles/plist_files/acpl_32be -text -test/testfiles/plist_files/acpl_32le -text -test/testfiles/plist_files/acpl_64be -text -test/testfiles/plist_files/acpl_64le -text -test/testfiles/plist_files/dapl_32be -text -test/testfiles/plist_files/dapl_32le -text -test/testfiles/plist_files/dapl_64be -text -test/testfiles/plist_files/dapl_64le -text -test/testfiles/plist_files/dcpl_32be -text -test/testfiles/plist_files/dcpl_32le -text -test/testfiles/plist_files/dcpl_64be -text -test/testfiles/plist_files/dcpl_64le -text -test/testfiles/plist_files/def_acpl_32be -text -test/testfiles/plist_files/def_acpl_32le -text -test/testfiles/plist_files/def_acpl_64be -text -test/testfiles/plist_files/def_acpl_64le -text -test/testfiles/plist_files/def_dapl_32be -text -test/testfiles/plist_files/def_dapl_32le -text -test/testfiles/plist_files/def_dapl_64be -text -test/testfiles/plist_files/def_dapl_64le -text -test/testfiles/plist_files/def_dcpl_32be -text -test/testfiles/plist_files/def_dcpl_32le -text -test/testfiles/plist_files/def_dcpl_64be -text -test/testfiles/plist_files/def_dcpl_64le -text -test/testfiles/plist_files/def_dxpl_32be -text -test/testfiles/plist_files/def_dxpl_32le -text -test/testfiles/plist_files/def_dxpl_64be -text -test/testfiles/plist_files/def_dxpl_64le -text -test/testfiles/plist_files/def_fapl_32be -text -test/testfiles/plist_files/def_fapl_32le -text -test/testfiles/plist_files/def_fapl_64be -text -test/testfiles/plist_files/def_fapl_64le -text -test/testfiles/plist_files/def_fcpl_32be -text -test/testfiles/plist_files/def_fcpl_32le -text -test/testfiles/plist_files/def_fcpl_64be -text -test/testfiles/plist_files/def_fcpl_64le -text -test/testfiles/plist_files/def_gcpl_32be -text -test/testfiles/plist_files/def_gcpl_32le -text -test/testfiles/plist_files/def_gcpl_64be -text -test/testfiles/plist_files/def_gcpl_64le -text -test/testfiles/plist_files/def_lapl_32be -text -test/testfiles/plist_files/def_lapl_32le -text -test/testfiles/plist_files/def_lapl_64be -text -test/testfiles/plist_files/def_lapl_64le -text -test/testfiles/plist_files/def_lcpl_32be -text -test/testfiles/plist_files/def_lcpl_32le -text -test/testfiles/plist_files/def_lcpl_64be -text -test/testfiles/plist_files/def_lcpl_64le -text -test/testfiles/plist_files/def_ocpl_32be -text -test/testfiles/plist_files/def_ocpl_32le -text -test/testfiles/plist_files/def_ocpl_64be -text -test/testfiles/plist_files/def_ocpl_64le -text -test/testfiles/plist_files/def_ocpypl_32be -text -test/testfiles/plist_files/def_ocpypl_32le -text -test/testfiles/plist_files/def_ocpypl_64be -text -test/testfiles/plist_files/def_ocpypl_64le -text -test/testfiles/plist_files/def_strcpl_32be -text -test/testfiles/plist_files/def_strcpl_32le -text -test/testfiles/plist_files/def_strcpl_64be -text -test/testfiles/plist_files/def_strcpl_64le -text -test/testfiles/plist_files/dxpl_32be -text -test/testfiles/plist_files/dxpl_32le -text -test/testfiles/plist_files/dxpl_64be -text -test/testfiles/plist_files/dxpl_64le -text -test/testfiles/plist_files/fapl_32be -text -test/testfiles/plist_files/fapl_32le -text -test/testfiles/plist_files/fapl_64be -text -test/testfiles/plist_files/fapl_64le -text -test/testfiles/plist_files/fcpl_32be -text -test/testfiles/plist_files/fcpl_32le -text -test/testfiles/plist_files/fcpl_64be -text -test/testfiles/plist_files/fcpl_64le -text -test/testfiles/plist_files/gcpl_32be -text -test/testfiles/plist_files/gcpl_32le -text -test/testfiles/plist_files/gcpl_64be -text -test/testfiles/plist_files/gcpl_64le -text -test/testfiles/plist_files/lapl_32be -text -test/testfiles/plist_files/lapl_32le -text -test/testfiles/plist_files/lapl_64be -text -test/testfiles/plist_files/lapl_64le -text -test/testfiles/plist_files/lcpl_32be -text -test/testfiles/plist_files/lcpl_32le -text -test/testfiles/plist_files/lcpl_64be -text -test/testfiles/plist_files/lcpl_64le -text -test/testfiles/plist_files/ocpl_32be -text -test/testfiles/plist_files/ocpl_32le -text -test/testfiles/plist_files/ocpl_64be -text -test/testfiles/plist_files/ocpl_64le -text -test/testfiles/plist_files/ocpypl_32be -text -test/testfiles/plist_files/ocpypl_32le -text -test/testfiles/plist_files/ocpypl_64be -text -test/testfiles/plist_files/ocpypl_64le -text -test/testfiles/plist_files/strcpl_32be -text -test/testfiles/plist_files/strcpl_32le -text -test/testfiles/plist_files/strcpl_64be -text -test/testfiles/plist_files/strcpl_64le -text -test/th5s.h5 -text -test/tlayouto.h5 -text -test/tmtimen.h5 -text -test/tmtimeo.h5 -text -test/tsizeslheap.h5 -text -testpar/t_init_term.c -text -testpar/t_prestart.c -text -testpar/t_pshutdown.c -text -tools/h5copy/testfiles/h5copy_extlinks_src.h5 -text -tools/h5copy/testfiles/h5copy_extlinks_trg.h5 -text -tools/h5copy/testfiles/h5copy_ref.h5 -text -tools/h5copy/testfiles/h5copytst.h5 -text -tools/h5copy/testfiles/h5copytst_new.h5 -text -tools/h5copy/testfiles/h5copytst_new.out.ls -text -tools/h5diff/testfiles/compounds_array_vlen1.h5 -text -tools/h5diff/testfiles/compounds_array_vlen2.h5 -text -tools/h5diff/testfiles/h5diff_attr1.h5 -text -tools/h5diff/testfiles/h5diff_attr2.h5 -text -tools/h5diff/testfiles/h5diff_attr_v_level1.h5 -text -tools/h5diff/testfiles/h5diff_attr_v_level2.h5 -text -tools/h5diff/testfiles/h5diff_basic1.h5 -text -tools/h5diff/testfiles/h5diff_basic2.h5 -text -tools/h5diff/testfiles/h5diff_comp_vl_strs.h5 -text -tools/h5diff/testfiles/h5diff_danglelinks1.h5 -text -tools/h5diff/testfiles/h5diff_danglelinks2.h5 -text -tools/h5diff/testfiles/h5diff_dset1.h5 -text -tools/h5diff/testfiles/h5diff_dset2.h5 -text -tools/h5diff/testfiles/h5diff_dset_zero_dim_size1.h5 -text -tools/h5diff/testfiles/h5diff_dset_zero_dim_size2.h5 -text -tools/h5diff/testfiles/h5diff_dtypes.h5 -text -tools/h5diff/testfiles/h5diff_empty.h5 -text -tools/h5diff/testfiles/h5diff_enum_invalid_values.h5 -text -tools/h5diff/testfiles/h5diff_exclude1-1.h5 -text -tools/h5diff/testfiles/h5diff_exclude1-2.h5 -text -tools/h5diff/testfiles/h5diff_exclude2-1.h5 -text -tools/h5diff/testfiles/h5diff_exclude2-2.h5 -text -tools/h5diff/testfiles/h5diff_exclude3-1.h5 -text -tools/h5diff/testfiles/h5diff_exclude3-2.h5 -text -tools/h5diff/testfiles/h5diff_ext2softlink_src.h5 -text -tools/h5diff/testfiles/h5diff_ext2softlink_trg.h5 -text -tools/h5diff/testfiles/h5diff_extlink_src.h5 -text -tools/h5diff/testfiles/h5diff_extlink_trg.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse1.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse2.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse_ext1.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse_ext2-1.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse_ext2-2.h5 -text -tools/h5diff/testfiles/h5diff_grp_recurse_ext2-3.h5 -text -tools/h5diff/testfiles/h5diff_hyper1.h5 -text -tools/h5diff/testfiles/h5diff_hyper2.h5 -text -tools/h5diff/testfiles/h5diff_linked_softlink.h5 -text -tools/h5diff/testfiles/h5diff_links.h5 -text -tools/h5diff/testfiles/h5diff_softlinks.h5 -text -tools/h5diff/testfiles/h5diff_types.h5 -text -tools/h5diff/testfiles/h5diff_v1.txt -text -tools/h5diff/testfiles/h5diff_v2.txt -text -tools/h5diff/testfiles/h5diff_v3.txt -text -tools/h5diff/testfiles/non_comparables1.h5 -text -tools/h5diff/testfiles/non_comparables2.h5 -text -tools/h5diff/testfiles/tmpSingleSiteBethe.output.h5 -text -tools/h5diff/testfiles/tmpSingleSiteBethe.reference.h5 -text -tools/h5diff/testfiles/tmptest.he5 -text -tools/h5diff/testfiles/tmptest2.he5 -text -tools/h5format_convert/CMakeLists.txt -text -tools/h5format_convert/CMakeTests.cmake -text -tools/h5format_convert/Makefile.am -text -tools/h5format_convert/h5fc_chk_idx.c -text -tools/h5format_convert/h5fc_gentest.c -text -tools/h5format_convert/h5format_convert.c -text -tools/h5format_convert/testfiles/h5fc_d_file.ddl -text -tools/h5format_convert/testfiles/h5fc_dname.ddl -text -tools/h5format_convert/testfiles/h5fc_edge_v3.h5 -text -tools/h5format_convert/testfiles/h5fc_err_level.h5 -text -tools/h5format_convert/testfiles/h5fc_ext1_f.ddl -text -tools/h5format_convert/testfiles/h5fc_ext1_f.h5 -text -tools/h5format_convert/testfiles/h5fc_ext1_i.ddl -text -tools/h5format_convert/testfiles/h5fc_ext1_i.h5 -text -tools/h5format_convert/testfiles/h5fc_ext1_s.ddl -text -tools/h5format_convert/testfiles/h5fc_ext1_s.h5 -text -tools/h5format_convert/testfiles/h5fc_ext2_if.ddl -text -tools/h5format_convert/testfiles/h5fc_ext2_if.h5 -text -tools/h5format_convert/testfiles/h5fc_ext2_is.ddl -text -tools/h5format_convert/testfiles/h5fc_ext2_is.h5 -text -tools/h5format_convert/testfiles/h5fc_ext2_sf.ddl -text -tools/h5format_convert/testfiles/h5fc_ext2_sf.h5 -text -tools/h5format_convert/testfiles/h5fc_ext3_isf.ddl -text -tools/h5format_convert/testfiles/h5fc_ext3_isf.h5 -text -tools/h5format_convert/testfiles/h5fc_ext_none.h5 -text -tools/h5format_convert/testfiles/h5fc_help.ddl -text -tools/h5format_convert/testfiles/h5fc_non_v3.h5 -text -tools/h5format_convert/testfiles/h5fc_nonexistdset_file.ddl -text -tools/h5format_convert/testfiles/h5fc_nonexistfile.ddl -text -tools/h5format_convert/testfiles/h5fc_nooption.ddl -text -tools/h5format_convert/testfiles/h5fc_v_all.ddl -text -tools/h5format_convert/testfiles/h5fc_v_bt1.ddl -text -tools/h5format_convert/testfiles/h5fc_v_err.ddl -text -tools/h5format_convert/testfiles/h5fc_v_n_1d.ddl -text -tools/h5format_convert/testfiles/h5fc_v_n_all.ddl -text -tools/h5format_convert/testfiles/h5fc_v_ndata_bt1.ddl -text -tools/h5format_convert/testfiles/h5fc_v_non_chunked.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext1_f.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext1_f.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext1_i.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext1_i.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext1_s.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext1_s.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext2_if.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext2_if.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext2_is.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext2_is.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext2_sf.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext2_sf.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext3_isf.ddl -text -tools/h5format_convert/testfiles/old_h5fc_ext3_isf.h5 -text -tools/h5format_convert/testfiles/old_h5fc_ext_none.h5 -text -tools/h5format_convert/testh5fc.sh.in -text -tools/h5import/testfiles/binfp64.h5 -text -tools/h5import/testfiles/binin16.h5 -text -tools/h5import/testfiles/binin32.h5 -text -tools/h5import/testfiles/binin8.h5 -text -tools/h5import/testfiles/binin8w.h5 -text -tools/h5import/testfiles/binuin16.h5 -text -tools/h5import/testfiles/binuin32.h5 -text -tools/h5import/testfiles/textpfe.h5 -text -tools/h5import/testfiles/txtfp32.h5 -text -tools/h5import/testfiles/txtfp64.h5 -text -tools/h5import/testfiles/txtin16.h5 -text -tools/h5import/testfiles/txtin32.h5 -text -tools/h5import/testfiles/txtin8.h5 -text -tools/h5import/testfiles/txtstr.h5 -text -tools/h5import/testfiles/txtuin16.h5 -text -tools/h5import/testfiles/txtuin32.h5 -text -tools/h5jam/testfiles/tall.h5 -text -tools/h5jam/testfiles/twithub.h5 -text -tools/h5jam/testfiles/twithub513.h5 -text -tools/h5repack/testfiles/1_vds.h5-vds_dset_chunk20x10x5-v.ddl -text -tools/h5repack/testfiles/2_vds.h5-vds_chunk3x6x9-v.ddl -text -tools/h5repack/testfiles/3_1_vds.h5-vds_chunk2x5x8-v.ddl -text -tools/h5repack/testfiles/4_vds.h5-vds_compa-v.ddl -text -tools/h5repack/testfiles/4_vds.h5-vds_conti-v.ddl -text -tools/h5repack/testfiles/README -text -tools/h5repack/testfiles/h5repack_attr.h5 -text -tools/h5repack/testfiles/h5repack_attr_refs.h5 -text -tools/h5repack/testfiles/h5repack_deflate.h5 -text -tools/h5repack/testfiles/h5repack_early.h5 -text -tools/h5repack/testfiles/h5repack_ext.bin -text -tools/h5repack/testfiles/h5repack_ext.h5 -text -tools/h5repack/testfiles/h5repack_fill.h5 -text -tools/h5repack/testfiles/h5repack_filters.h5 -text -tools/h5repack/testfiles/h5repack_filters.h5-gzip_verbose_filters.tst -text -tools/h5repack/testfiles/h5repack_fletcher.h5 -text -tools/h5repack/testfiles/h5repack_hlink.h5 -text -tools/h5repack/testfiles/h5repack_layout.UD.h5 -text svneol=unset#application/x-hdf -tools/h5repack/testfiles/h5repack_layout.h5 -text -tools/h5repack/testfiles/h5repack_layout.h5-dset2_chunk_20x10-errstk.tst -text -tools/h5repack/testfiles/h5repack_layout.h5-plugin_zero.tst -text -tools/h5repack/testfiles/h5repack_layout2.h5 -text -tools/h5repack/testfiles/h5repack_layout3.h5 -text -tools/h5repack/testfiles/h5repack_layouto.h5 -text -tools/h5repack/testfiles/h5repack_named_dtypes.h5 -text -tools/h5repack/testfiles/h5repack_nbit.h5 -text -tools/h5repack/testfiles/h5repack_nested_8bit_enum.h5 -text -tools/h5repack/testfiles/h5repack_nested_8bit_enum_deflated.h5 -text -tools/h5repack/testfiles/h5repack_objs.h5 -text -tools/h5repack/testfiles/h5repack_refs.h5 -text -tools/h5repack/testfiles/h5repack_shuffle.h5 -text -tools/h5repack/testfiles/h5repack_soffset.h5 -text -tools/h5repack/testfiles/h5repack_szip.h5 -text -tools/h5repack/testfiles/ublock.bin -text -tools/h5stat/testfiles/h5stat_filters.h5 -text -tools/h5stat/testfiles/h5stat_idx.ddl -text -tools/h5stat/testfiles/h5stat_idx.h5 -text -tools/h5stat/testfiles/h5stat_newgrat.h5 -text -tools/h5stat/testfiles/h5stat_threshold.h5 -text -tools/h5stat/testfiles/h5stat_tsohm.h5 -text -tools/lib/h5tools_error.h svneol=native#text/plain -tools/testfiles/charsets.h5 -text -tools/testfiles/family_file00000.h5 -text -tools/testfiles/family_file00001.h5 -text -tools/testfiles/family_file00002.h5 -text -tools/testfiles/family_file00003.h5 -text -tools/testfiles/family_file00004.h5 -text -tools/testfiles/family_file00005.h5 -text -tools/testfiles/family_file00006.h5 -text -tools/testfiles/family_file00007.h5 -text -tools/testfiles/family_file00008.h5 -text -tools/testfiles/family_file00009.h5 -text -tools/testfiles/family_file00010.h5 -text -tools/testfiles/family_file00011.h5 -text -tools/testfiles/family_file00012.h5 -text -tools/testfiles/family_file00013.h5 -text -tools/testfiles/family_file00014.h5 -text -tools/testfiles/family_file00015.h5 -text -tools/testfiles/family_file00016.h5 -text -tools/testfiles/family_file00017.h5 -text -tools/testfiles/file_space.h5 -text -tools/testfiles/filter_fail.h5 -text -tools/testfiles/non_existing.ddl -text -tools/testfiles/packedbits.h5 -text -tools/testfiles/taindices.h5 -text -tools/testfiles/tall.h5 -text -tools/testfiles/tarray1.h5 -text -tools/testfiles/tarray1_big.h5 -text -tools/testfiles/tarray2.h5 -text -tools/testfiles/tarray3.h5 -text -tools/testfiles/tarray4.h5 -text -tools/testfiles/tarray5.h5 -text -tools/testfiles/tarray6.h5 -text -tools/testfiles/tarray7.h5 -text -tools/testfiles/tarray8.h5 -text -tools/testfiles/tattr.h5 -text -tools/testfiles/tattr2.h5 -text -tools/testfiles/tattr4_be.h5 -text -tools/testfiles/tattrintsize.h5 -text -tools/testfiles/tattrreg.h5 -text -tools/testfiles/tbigdims.h5 -text -tools/testfiles/tbinary.h5 -text -tools/testfiles/tbitfields.h5 -text -tools/testfiles/tbitnopaque_be.ddl -text -tools/testfiles/tbitnopaque_le.ddl -text -tools/testfiles/tbitnopaque.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tchar.h5 -text -tools/testfiles/tcmpdattrintsize.h5 -text -tools/testfiles/tcmpdintarray.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tcmpdints.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tcmpdintsize.h5 -text -tools/testfiles/tcompound.h5 -text -tools/testfiles/tcompound2.h5 -text -tools/testfiles/tcompound_complex.h5 -text -tools/testfiles/tcompound_complex2.ddl -text -tools/testfiles/tcompound_complex2.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tdatareg.h5 -text -tools/testfiles/tdset.h5 -text -tools/testfiles/tdset2.h5 -text -tools/testfiles/tdset_idx.h5 -text -tools/testfiles/tdset_idx.ls -text -tools/testfiles/tempty.h5 -text -tools/testfiles/tenum.h5 -text -tools/testfiles/textlink.h5 -text -tools/testfiles/textlinkfar.h5 -text -tools/testfiles/textlinksrc.h5 -text -tools/testfiles/textlinktar.h5 -text -tools/testfiles/tfamily00000.h5 -text -tools/testfiles/tfamily00001.h5 -text -tools/testfiles/tfamily00002.h5 -text -tools/testfiles/tfamily00003.h5 -text -tools/testfiles/tfamily00004.h5 -text -tools/testfiles/tfamily00005.h5 -text -tools/testfiles/tfamily00006.h5 -text -tools/testfiles/tfamily00007.h5 -text -tools/testfiles/tfamily00008.h5 -text -tools/testfiles/tfamily00009.h5 -text -tools/testfiles/tfamily00010.h5 -text -tools/testfiles/tfcontents1.h5 -text -tools/testfiles/tfcontents2.h5 -text -tools/testfiles/tfilters.h5 -text -tools/testfiles/tfpformat.h5 -text -tools/testfiles/tfvalues.h5 -text -tools/testfiles/tgroup.h5 -text -tools/testfiles/tgrp_comments.h5 -text -tools/testfiles/thlink.h5 -text -tools/testfiles/thyperslab.h5 -text -tools/testfiles/tints4dims.ddl -text -tools/testfiles/tints4dims.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tints4dimsBlock2.ddl -text -tools/testfiles/tints4dimsBlockEq.ddl -text -tools/testfiles/tints4dimsCount2.ddl -text -tools/testfiles/tints4dimsCountEq.ddl -text -tools/testfiles/tints4dimsStride2.ddl -text -tools/testfiles/tintsattrs.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tlarge_objname.h5 -text -tools/testfiles/tldouble.h5 -text -tools/testfiles/tldouble_scalar.h5 -text -tools/testfiles/tlonglinks.h5 -text -tools/testfiles/tloop.h5 -text -tools/testfiles/tloop2.h5 -text -tools/testfiles/tmany.h5 -text -tools/testfiles/tmulti-b.h5 -text -tools/testfiles/tmulti-g.h5 -text svneol=unset#application/octet-stream -tools/testfiles/tmulti-l.h5 -text -tools/testfiles/tmulti-o.h5 -text -tools/testfiles/tmulti-r.h5 -text -tools/testfiles/tmulti-s.h5 -text -tools/testfiles/tname-amp.h5 -text -tools/testfiles/tname-apos.h5 -text -tools/testfiles/tname-gt.h5 -text -tools/testfiles/tname-lt.h5 -text -tools/testfiles/tname-quot.h5 -text -tools/testfiles/tname-sp.h5 -text -tools/testfiles/tnamed_dtype_attr.h5 -text -tools/testfiles/tnestedcmpddt.h5 -text -tools/testfiles/tnestedcomp.h5 -text -tools/testfiles/tno-subset.h5 -text -tools/testfiles/tnodata.h5 -text -tools/testfiles/tnullspace.h5 -text -tools/testfiles/tobjref.h5 -text -tools/testfiles/topaque.h5 -text -tools/testfiles/torderattr.h5 -text -tools/testfiles/tordergr.h5 -text -tools/testfiles/tref-escapes-at.h5 -text -tools/testfiles/tref-escapes.h5 -text -tools/testfiles/tref.h5 -text -tools/testfiles/tsaf.h5 -text -tools/testfiles/tscalarattrintsize.h5 -text -tools/testfiles/tscalarintattrsize.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tscalarintsize.h5 -text -tools/testfiles/tscalarstring.h5 -text -tools/testfiles/tslink.h5 -text -tools/testfiles/tsoftlinks.h5 -text -tools/testfiles/tsplit_file-m.h5 -text -tools/testfiles/tsplit_file-r.h5 -text -tools/testfiles/tstr.h5 -text -tools/testfiles/tstr2.h5 -text -tools/testfiles/tstr3.h5 -text -tools/testfiles/tstring-at.h5 -text -tools/testfiles/tstring.ddl -text svneol=unset#application/octet-stream -tools/testfiles/tstring.h5 -text -tools/testfiles/tudlink.h5 -text -tools/testfiles/tvldtypes1.h5 -text -tools/testfiles/tvldtypes2.h5 -text -tools/testfiles/tvldtypes3.h5 -text -tools/testfiles/tvldtypes4.h5 -text -tools/testfiles/tvldtypes5.h5 -text -tools/testfiles/tvlenstr_array.ddl -text -tools/testfiles/tvlenstr_array.h5 -text svneol=unset#application/x-hdf -tools/testfiles/tvlstr.h5 -text -tools/testfiles/tvms.h5 -text -tools/testfiles/vds/1_a.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_b.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_c.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_d.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_e.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_f.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/1_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_a.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_b.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_c.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_d.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_e.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/2_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/3_1_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/3_2_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/4_0.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/4_1.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/4_2.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/4_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/5_a.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/5_b.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/5_c.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/5_vds.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/a.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/b.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/c.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/d.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/f-0.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/f-3.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/vds-eiger.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/vds-first.ddl -text -tools/testfiles/vds/vds-gap1.ddl -text -tools/testfiles/vds/vds-gap2.ddl -text -tools/testfiles/vds/vds-percival-unlim-maxmin.h5 -text svneol=unset#application/x-hdf -tools/testfiles/vds/vds_layout-eiger.ddl -text -tools/testfiles/vds/vds_layout-maxmin.ddl -text -tools/testfiles/zerodim.h5 -text +* text=auto +*.h5 binary +test/testfiles/plist_files/* binary From 1f62484a938c76cc2c5b2c547dc2d741fd23071a Mon Sep 17 00:00:00 2001 From: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Date: Fri, 24 Jan 2025 11:03:03 -0600 Subject: [PATCH 6/6] Updates for updated filters (#5269) --- HDF5Examples/C/H5FLT/tfiles/h5ex_d_bshuf.ddl | 2 +- config/cmake/cacheinit.cmake | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/HDF5Examples/C/H5FLT/tfiles/h5ex_d_bshuf.ddl b/HDF5Examples/C/H5FLT/tfiles/h5ex_d_bshuf.ddl index 9587688d39b..b9b1b95df1a 100644 --- a/HDF5Examples/C/H5FLT/tfiles/h5ex_d_bshuf.ddl +++ b/HDF5Examples/C/H5FLT/tfiles/h5ex_d_bshuf.ddl @@ -11,7 +11,7 @@ GROUP "/" { USER_DEFINED_FILTER { FILTER_ID 32008 COMMENT bitshuffle; see https://github.com/kiyo-masui/bitshuffle - PARAMS { 0 3 4 0 0 0 } + PARAMS { 0 4 4 0 0 0 } } } FILLVALUE { diff --git a/config/cmake/cacheinit.cmake b/config/cmake/cacheinit.cmake index 58319a68b6e..157521e9e55 100644 --- a/config/cmake/cacheinit.cmake +++ b/config/cmake/cacheinit.cmake @@ -94,7 +94,7 @@ set (BSHUF_GIT_URL "https://github.com/kiyo-masui/bitshuffle.git" CACHE STRING " set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) set (BSHUF_TGZ_ORIGPATH "https://github.com/kiyo-masui/bitshuffle/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) -set (BSHUF_TGZ_NAME "bitshuffle-0.5.1.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) +set (BSHUF_TGZ_NAME "bitshuffle-0.5.2.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) @@ -126,7 +126,7 @@ set (BLOSC2_GIT_URL "https://github.com/Blosc/c-blosc2.git" CACHE STRING "Use BL set (BLOSC2_GIT_BRANCH "main" CACHE STRING "" FORCE) set (BLOSC2_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) -set (BLOSC2_TGZ_NAME "c-blosc2-2.15.1.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) +set (BLOSC2_TGZ_NAME "c-blosc2-2.15.2.tar.gz" CACHE STRING "Use BLOSC2 from compressed file" FORCE) set (BLOSC2_PACKAGE_NAME "blosc2" CACHE STRING "Name of BLOSC2 package" FORCE)