2019-09-26 05:21:23 +08:00
|
|
|
HDF5 version 1.13.0 currently under development
|
2009-01-06 22:58:21 +08:00
|
|
|
================================================================================
|
|
|
|
|
|
|
|
|
|
|
|
INTRODUCTION
|
2021-02-26 05:12:57 +08:00
|
|
|
============
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
This document describes the differences between this release and the previous
|
|
|
|
HDF5 release. It contains information on the platforms tested and known
|
|
|
|
problems in this release. For more details check the HISTORY*.txt files in the
|
|
|
|
HDF5 source.
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
Note that documentation in the links below will be updated at the time of each
|
|
|
|
final release.
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
Links to HDF5 documentation can be found on The HDF5 web page:
|
2017-02-01 06:05:20 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
https://portal.hdfgroup.org/display/HDF5/HDF5
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
The official HDF5 releases can be obtained from:
|
2017-02-01 06:05:20 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
https://www.hdfgroup.org/downloads/hdf5/
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2020-02-27 03:54:34 +08:00
|
|
|
Changes from Release to Release and New Features in the HDF5-1.13.x release series
|
2018-04-04 05:57:26 +08:00
|
|
|
can be found at:
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
If you have any questions or comments, please send them to the HDF Help Desk:
|
|
|
|
|
2018-04-04 05:57:26 +08:00
|
|
|
help@hdfgroup.org
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
CONTENTS
|
2021-01-27 21:56:28 +08:00
|
|
|
========
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
- New Features
|
|
|
|
- Support for new platforms and languages
|
2020-11-24 02:04:49 +08:00
|
|
|
- Bug Fixes since HDF5-1.12.0
|
2012-11-15 02:10:03 +08:00
|
|
|
- Supported Platforms
|
|
|
|
- Tested Configuration Features Summary
|
|
|
|
- More Tested Platforms
|
2009-01-06 22:58:21 +08:00
|
|
|
- Known Problems
|
2018-07-31 04:09:50 +08:00
|
|
|
- CMake vs. Autotools installations
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
New Features
|
|
|
|
============
|
|
|
|
|
|
|
|
Configuration:
|
|
|
|
-------------
|
2021-06-04 00:51:25 +08:00
|
|
|
- Adds C++ Autotools configuration file for Intel
|
|
|
|
|
|
|
|
* Checks for icpc as the compiler
|
|
|
|
* Sets std=c++11
|
|
|
|
* Copies most non-warning flags from intel-flags
|
2021-06-08 06:59:47 +08:00
|
|
|
|
2021-06-04 00:51:25 +08:00
|
|
|
(DER - 2021/06/02)
|
|
|
|
|
2021-06-04 00:44:09 +08:00
|
|
|
- Adds C++ Autotools configuration file for PGI
|
|
|
|
|
|
|
|
* Checks for pgc++ as the compiler name (was: pgCC)
|
|
|
|
* Sets -std=c++11
|
|
|
|
* Other options basically match new C options (below)
|
|
|
|
|
|
|
|
(DER - 2021/06/02)
|
|
|
|
|
|
|
|
- Updates PGI C options
|
|
|
|
|
|
|
|
* -Minform set to warn (was: inform) to suppress spurious messages
|
|
|
|
* Sets -gopt -O2 as debug options
|
|
|
|
* Sets -O4 as 'high optimization' option
|
|
|
|
* Sets -O0 as 'no optimization' option
|
|
|
|
* Removes specific settings for PGI 9 and 10
|
|
|
|
|
|
|
|
(DER - 2021/06/02)
|
|
|
|
|
2021-05-28 10:24:30 +08:00
|
|
|
- A C++11-compliant compiler is now required to build the C++ wrappers
|
|
|
|
|
2021-06-08 06:59:47 +08:00
|
|
|
CMAKE_CXX_STANDARD is now set to 11 when building with CMake and
|
2021-05-28 10:24:30 +08:00
|
|
|
-std=c++11 is added when building with clang/gcc via the Autotools.
|
|
|
|
|
|
|
|
(DER - 2021/05/27)
|
|
|
|
|
2021-05-24 21:55:08 +08:00
|
|
|
- CMake will now run the shell script tests in test/ by default
|
|
|
|
|
|
|
|
The test directory includes several shell script tests that previously
|
|
|
|
were not run by CMake. These are now run by default. TEST_SHELL_SCRIPTS
|
|
|
|
has been set to ON and SH_PROGRAM has been set to bash (some test
|
|
|
|
scripts use bash-isms). Platforms without bash (e.g., Windows) will
|
|
|
|
ignore the script tests.
|
|
|
|
|
|
|
|
(DER - 2021/05/23)
|
|
|
|
|
|
|
|
- Removed unused HDF5_ENABLE_HSIZET option from CMake
|
|
|
|
|
|
|
|
This has been unused for some time and has no effect.
|
|
|
|
|
|
|
|
(DER - 2021/05/23)
|
|
|
|
|
2021-04-20 19:55:05 +08:00
|
|
|
- CMake no longer builds the C++ library by default
|
|
|
|
|
|
|
|
HDF5_BUILD_CPP_LIB now defaults to OFF, which is in line with the
|
|
|
|
Autotools build defaults.
|
|
|
|
|
|
|
|
(DER - 2021/04/20)
|
|
|
|
|
2021-03-24 10:13:57 +08:00
|
|
|
- Removal of pre-VS2015 work-arounds
|
|
|
|
|
|
|
|
HDF5 now requires Visual Studio 2015 or greater, so old work-around
|
|
|
|
code and definitions have been removed, including:
|
|
|
|
|
|
|
|
* <inttypes.h>
|
|
|
|
* snprintf and vsnprintf
|
|
|
|
* llround, llroundf, lround, lroundf, round, roundf
|
|
|
|
* strtoll and strtoull
|
|
|
|
* va_copy
|
|
|
|
* struct timespec
|
|
|
|
|
|
|
|
(DER - 2021/03/22)
|
|
|
|
|
2021-03-26 07:11:32 +08:00
|
|
|
- Add CMake variable HDF5_LIB_INFIX
|
|
|
|
|
|
|
|
This infix is added to all library names after 'hdf5'.
|
|
|
|
e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so'
|
|
|
|
This name is used in packages on debian based systems.
|
|
|
|
(see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist)
|
|
|
|
|
|
|
|
(barcode - 2021/03/22)
|
|
|
|
|
2021-02-09 04:16:41 +08:00
|
|
|
- On macOS, Universal Binaries can now be built, allowing native execution on
|
|
|
|
both Intel and Apple Silicon (ARM) based Macs.
|
|
|
|
|
|
|
|
To do so, set CMAKE_OSX_ARCHITECTURES="x86_64;arm64"
|
|
|
|
|
|
|
|
(SAM - 2021/02/07, https://github.com/HDFGroup/hdf5/issues/311)
|
|
|
|
|
2021-02-09 07:23:09 +08:00
|
|
|
- Added a configure-time option to control certain compiler warnings
|
|
|
|
diagnostics
|
|
|
|
|
|
|
|
A new configure-time option was added that allows some compiler warnings
|
|
|
|
diagnostics to have the default operation. This is mainly intended for
|
|
|
|
library developers and currently only works for gcc 10 and above. The
|
|
|
|
diagnostics flags apply to C, C++ and Fortran compilers and will appear
|
|
|
|
in "H5 C Flags", H5 C++ Flags" and H5 Fortran Flags, respectively. They
|
|
|
|
will NOT be exported to h5cc, etc.
|
|
|
|
|
|
|
|
The default is OFF, which will disable the warnings URL and color attributes
|
|
|
|
for the warnings output. ON will not add the flags and allow default behavior.
|
|
|
|
|
|
|
|
Autotools: --enable-diags
|
|
|
|
|
|
|
|
CMake: HDF5_ENABLE_BUILD_DIAGS
|
|
|
|
|
|
|
|
(ADB - 2021/02/05, HDFFV-11213)
|
|
|
|
|
2020-12-17 01:59:51 +08:00
|
|
|
- CMake option to build the HDF filter plugins project as an external project
|
|
|
|
|
|
|
|
The HDF filter plugins project is a collection of registered compression
|
|
|
|
filters that can be dynamically loaded when needed to access data stored
|
|
|
|
in a hdf5 file. This CMake-only option allows the plugins to be built and
|
|
|
|
distributed with the hdf5 library and tools. Like the options for szip and
|
|
|
|
zlib, either a tgz file or a git repository can be specified for the source.
|
|
|
|
|
|
|
|
The option was refactored to use the CMake FetchContent process. This allows
|
|
|
|
more control over the filter targets, but required external project command
|
|
|
|
options to be moved to a CMake include file, HDF5PluginCache.cmake. Also
|
|
|
|
enabled the filter examples to be used as tests for operation of the
|
|
|
|
filter plugins.
|
|
|
|
|
|
|
|
(ADB - 2020/12/10, OESS-98)
|
|
|
|
|
2020-11-30 12:44:47 +08:00
|
|
|
- FreeBSD Autotools configuration now defaults to 'cc' and 'c++' compilers
|
|
|
|
|
|
|
|
On FreeBSD, the autotools defaulted to 'gcc' as the C compiler and did
|
|
|
|
not process C++ options. Since FreeBSD 10, the default compiler has
|
|
|
|
been clang (via 'cc').
|
|
|
|
|
|
|
|
The default compilers have been set to 'cc' for C and 'c++' for C++,
|
|
|
|
which will pick up clang and clang++ respectively on FreeBSD 10+.
|
|
|
|
Additionally, clang options are now set correctly for both C and C++
|
|
|
|
and g++ options will now be set if that compiler is being used (an
|
|
|
|
omission from the former functionality).
|
|
|
|
|
|
|
|
(DER - 2020/11/28, HDFFV-11193)
|
|
|
|
|
2020-11-25 23:26:35 +08:00
|
|
|
- Fixed POSIX problems when building w/ gcc on Solaris
|
|
|
|
|
|
|
|
When building on Solaris using gcc, the POSIX symbols were not
|
|
|
|
being set correctly, which could lead to issues like clock_gettime()
|
|
|
|
not being found.
|
|
|
|
|
|
|
|
The standard is now set to gnu99 when building with gcc on Solaris,
|
|
|
|
which allows POSIX things to be #defined and linked correctly. This
|
|
|
|
differs slightly from the gcc norm, where we set the standard to c99
|
|
|
|
and manually set POSIX #define symbols.
|
|
|
|
|
|
|
|
(DER - 2020/11/25, HDFFV-11191)
|
|
|
|
|
2020-11-25 11:57:48 +08:00
|
|
|
- Added a configure-time option to consider certain compiler warnings
|
|
|
|
as errors
|
|
|
|
|
|
|
|
A new configure-time option was added that converts some compiler warnings
|
|
|
|
to errors. This is mainly intended for library developers and currently
|
|
|
|
only works for gcc and clang. The warnings that are considered errors
|
|
|
|
will appear in the generated libhdf5.settings file. These warnings apply
|
|
|
|
to C and C++ code and will appear in "H5 C Flags" and H5 C++ Flags",
|
|
|
|
respectively. They will NOT be exported to h5cc, etc.
|
|
|
|
|
|
|
|
The default is OFF. Building with this option may fail when compiling
|
|
|
|
on operating systems and with compiler versions not commonly used by
|
|
|
|
the library developers. Compilation may also fail when headers not
|
|
|
|
under the control of the library developers (e.g., mpi.h, hdfs.h) raise
|
|
|
|
warnings.
|
|
|
|
|
|
|
|
Autotools: --enable-warnings-as-errors
|
|
|
|
|
|
|
|
CMake: HDF5_ENABLE_WARNINGS_AS_ERRORS
|
|
|
|
|
|
|
|
(DER - 2020/11/23, HDFFV-11189)
|
|
|
|
|
2020-11-04 02:23:06 +08:00
|
|
|
- Autotools and CMake target added to produce doxygen generated documentation
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The default is OFF or disabled.
|
|
|
|
Autoconf option is '--enable-doxygen'
|
2020-11-04 02:23:06 +08:00
|
|
|
autotools make target is 'doxygen' and will build all doxygen targets
|
2020-11-24 02:04:49 +08:00
|
|
|
CMake configure option is 'HDF5_BUILD_DOC'.
|
2020-11-04 21:55:41 +08:00
|
|
|
CMake target is 'doxygen' for all available doxygen targets
|
2020-11-04 02:23:06 +08:00
|
|
|
CMake target is 'hdf5lib_doc' for the src subdirectory
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/11/03)
|
2020-11-04 02:23:06 +08:00
|
|
|
|
2020-10-30 17:36:32 +08:00
|
|
|
- CMake option to use MSVC naming conventions with MinGW
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
HDF5_MSVC_NAMING_CONVENTION option enable to use MSVC naming conventions
|
|
|
|
when using a MinGW toolchain
|
2020-10-30 17:36:32 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(xan - 2020/10/30)
|
2020-11-04 02:23:06 +08:00
|
|
|
|
2020-10-30 17:44:24 +08:00
|
|
|
- CMake option to statically link gcc libs with MinGW
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
HDF5_MINGW_STATIC_GCC_LIBS allows to statically link libg/libstdc++
|
|
|
|
with the MinGW toolchain
|
2020-10-30 17:44:24 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(xan - 2020/10/30)
|
2020-10-30 17:36:32 +08:00
|
|
|
|
2020-09-28 00:46:58 +08:00
|
|
|
- CMake option to build the HDF filter plugins project as an external project
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The HDF filter plugins project is a collection of registered compression
|
|
|
|
filters that can be dynamically loaded when needed to access data stored
|
|
|
|
in a hdf5 file. This CMake-only option allows the plugins to be built and
|
|
|
|
distributed with the hdf5 library and tools. Like the options for szip and
|
|
|
|
zlib, either a tgz file or a git repository can be specified for the source.
|
2020-09-28 22:41:43 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The necessary options are (see the INSTALL_CMake.txt file):
|
2020-09-28 22:41:43 +08:00
|
|
|
HDF5_ENABLE_PLUGIN_SUPPORT
|
|
|
|
PLUGIN_TGZ_NAME or PLUGIN_GIT_URL
|
2020-11-24 02:04:49 +08:00
|
|
|
There are more options necessary for various filters and the plugin project
|
|
|
|
documents should be referenced.
|
2020-09-28 00:46:58 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/09/27, OESS-98)
|
2020-09-05 05:36:52 +08:00
|
|
|
|
|
|
|
- Added CMake option to format source files
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
HDF5_ENABLE_FORMATTERS option will enable creation of targets using the
|
|
|
|
pattern - HDF5_*_SRC_FORMAT - where * corresponds to the source folder
|
|
|
|
or tool folder. All sources can be formatted by executing the format target;
|
2021-02-26 05:12:57 +08:00
|
|
|
make format
|
2020-09-05 05:36:52 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/08/24)
|
|
|
|
|
|
|
|
- Add file locking configure and CMake options
|
|
|
|
|
|
|
|
HDF5 1.10.0 introduced a file locking scheme, primarily to help
|
|
|
|
enforce SWMR setup. Formerly, the only user-level control of the scheme
|
|
|
|
was via the HDF5_USE_FILE_LOCKING environment variable.
|
|
|
|
|
|
|
|
This change introduces configure-time options that control whether
|
|
|
|
or not file locking will be used and whether or not the library
|
|
|
|
ignores errors when locking has been disabled on the file system
|
|
|
|
(useful on some HPC Lustre installations).
|
|
|
|
|
|
|
|
In both the Autotools and CMake, the settings have the effect of changing
|
|
|
|
the default property list settings (see the H5Pset/get_file_locking()
|
|
|
|
entry, below).
|
|
|
|
|
|
|
|
The yes/no/best-effort file locking configure setting has also been
|
|
|
|
added to the libhdf5.settings file.
|
|
|
|
|
|
|
|
Autotools:
|
|
|
|
|
|
|
|
An --enable-file-locking=(yes|no|best-effort) option has been added.
|
|
|
|
|
|
|
|
yes: Use file locking.
|
|
|
|
no: Do not use file locking.
|
|
|
|
best-effort: Use file locking and ignore "disabled" errors.
|
|
|
|
|
|
|
|
CMake:
|
|
|
|
|
|
|
|
Two self-explanatory options have been added:
|
|
|
|
|
|
|
|
HDF5_USE_FILE_LOCKING
|
|
|
|
HDF5_IGNORE_DISABLED_FILE_LOCKS
|
|
|
|
|
|
|
|
Setting both of these to ON is the equivalent to the Autotools'
|
|
|
|
best-effort setting.
|
|
|
|
|
|
|
|
NOTE:
|
|
|
|
The precedence order of the various file locking control mechanisms is:
|
|
|
|
|
|
|
|
1) HDF5_USE_FILE_LOCKING environment variable (highest)
|
|
|
|
|
|
|
|
2) H5Pset_file_locking()
|
|
|
|
|
|
|
|
3) configure/CMake options (which set the property list defaults)
|
|
|
|
|
|
|
|
4) library defaults (currently best-effort)
|
|
|
|
|
|
|
|
(DER - 2020/07/30, HDFFV-11092)
|
2020-09-05 05:36:52 +08:00
|
|
|
|
2020-07-10 02:03:58 +08:00
|
|
|
- CMake option to link the generated Fortran MOD files into the include
|
|
|
|
directory.
|
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
The Fortran generation of MOD files by a Fortran compile can produce
|
2020-11-24 02:04:49 +08:00
|
|
|
different binary files between SHARED and STATIC compiles with different
|
|
|
|
compilers and/or different platforms. Note that it has been found that
|
|
|
|
different versions of Fortran compilers will produce incompatible MOD
|
|
|
|
files. Currently, CMake will locate these MOD files in subfolders of
|
|
|
|
the include directory and add that path to the Fortran library target
|
|
|
|
in the CMake config file, which can be used by the CMake find library
|
|
|
|
process. For other build systems using the binary from a CMake install,
|
|
|
|
a new CMake configuration can be used to copy the pre-chosen version
|
|
|
|
of the Fortran MOD files into the install include directory.
|
|
|
|
|
|
|
|
The default will depend on the configuration of
|
|
|
|
BUILD_STATIC_LIBS and BUILD_SHARED_LIBS:
|
2020-07-10 02:03:58 +08:00
|
|
|
YES YES Default to SHARED
|
|
|
|
YES NO Default to STATIC
|
|
|
|
NO YES Default to SHARED
|
|
|
|
NO NO Default to SHARED
|
2021-03-18 03:22:17 +08:00
|
|
|
The defaults can be overridden by setting the config option
|
2020-12-17 01:59:51 +08:00
|
|
|
HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC
|
2020-07-10 02:03:58 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/07/09, HDFFV-11116)
|
2020-07-10 02:03:58 +08:00
|
|
|
|
2020-04-23 00:48:45 +08:00
|
|
|
- CMake option to use AEC (open source SZip) library instead of SZip
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The open source AEC library is a replacement library for SZip. In
|
|
|
|
order to use it for hdf5 the libaec CMake source was changed to add
|
|
|
|
"-fPIC" and exclude test files. Autotools does not build the
|
|
|
|
compression libraries within hdf5 builds. New option USE_LIBAEC is
|
|
|
|
required to compensate for the different files produced by AEC build.
|
2020-04-23 00:48:45 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/04/22, OESS-65)
|
2020-04-23 00:48:45 +08:00
|
|
|
|
2020-03-25 02:21:27 +08:00
|
|
|
- CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Some handcrafted tests in HDFTests.c has been removed and the CMake
|
|
|
|
CHECK_STRUCT_HAS_MEMBER module has been used.
|
2020-03-25 02:21:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/03/24, TRILAB-24)
|
2020-03-25 02:21:27 +08:00
|
|
|
|
2020-03-25 01:46:28 +08:00
|
|
|
- Both build systems use same set of warnings flags
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
GNU C, C++ and gfortran warnings flags were moved to files in a config
|
|
|
|
sub-folder named gnu-warnings. Flags that only are available for a specific
|
|
|
|
version of the compiler are in files named with that version.
|
|
|
|
Clang C warnings flags were moved to files in a config sub-folder
|
|
|
|
named clang-warnings.
|
|
|
|
Intel C, Fortran warnings flags were moved to files in a config sub-folder
|
|
|
|
named intel-warnings.
|
2020-03-25 01:46:28 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
There are flags in named "error-xxx" files with warnings that may
|
|
|
|
be promoted to errors. Some source files may still need fixes.
|
2020-03-25 01:46:28 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
There are also pairs of files named "developer-xxx" and "no-developer-xxx"
|
|
|
|
that are chosen by the CMake option:HDF5_ENABLE_DEV_WARNINGS or the
|
|
|
|
configure option:--enable-developer-warnings.
|
2020-03-25 01:46:28 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
In addition, CMake no longer applies these warnings for examples.
|
2020-04-04 01:57:56 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/03/24, TRILAB-192)
|
2020-03-25 01:46:28 +08:00
|
|
|
|
2020-02-25 02:49:56 +08:00
|
|
|
- Added test script for file size compare
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
If CMake minimum version is at least 3.14, the fileCompareTest.cmake
|
|
|
|
script will compare file sizes.
|
2020-02-25 02:49:56 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/02/24, HDFFV-11036)
|
2020-02-25 02:49:56 +08:00
|
|
|
|
2020-02-22 06:16:06 +08:00
|
|
|
- Update CMake minimum version to 3.12
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Updated CMake minimum version to 3.12 and added version checks
|
|
|
|
for Windows features.
|
2020-02-22 06:16:06 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/02/05, TRILABS-142)
|
2020-02-22 06:16:06 +08:00
|
|
|
|
2020-02-05 23:39:13 +08:00
|
|
|
- Fixed CMake include properties for Fortran libraries
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Corrected the library properties for Fortran to use the
|
|
|
|
correct path for the Fortran module files.
|
2020-02-05 23:39:13 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/02/04, HDFFV-11012)
|
2020-02-05 23:39:13 +08:00
|
|
|
|
2020-01-18 03:30:20 +08:00
|
|
|
- Added common warnings files for gnu and intel
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Added warnings files to use one common set of flags
|
|
|
|
during configure for both autotools and CMake build
|
|
|
|
systems. The initial implementation only affects a
|
|
|
|
general set of flags for gnu and intel compilers.
|
2020-01-18 03:30:20 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/01/17)
|
2020-01-18 03:30:20 +08:00
|
|
|
|
2020-01-16 01:45:18 +08:00
|
|
|
- Added new options to CMake for control of testing
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Added CMake options (default ON);
|
2020-01-16 02:28:53 +08:00
|
|
|
HDF5_TEST_SERIAL AND/OR HDF5_TEST_PARALLEL
|
|
|
|
combined with:
|
|
|
|
HDF5_TEST_TOOLS
|
|
|
|
HDF5_TEST_EXAMPLES
|
|
|
|
HDF5_TEST_SWMR
|
|
|
|
HDF5_TEST_FORTRAN
|
|
|
|
HDF5_TEST_CPP
|
|
|
|
HDF5_TEST_JAVA
|
2020-01-16 01:45:18 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/01/15, HDFFV-11001)
|
2020-01-16 01:45:18 +08:00
|
|
|
|
2020-02-12 03:48:39 +08:00
|
|
|
- Added Clang sanitizers to CMake for analyzer support if compiler is clang.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Added CMake code and files to execute the Clang sanitizers if
|
|
|
|
HDF5_ENABLE_SANITIZERS is enabled and the USE_SANITIZER option
|
|
|
|
is set to one of the following:
|
2020-02-12 03:48:39 +08:00
|
|
|
Address
|
|
|
|
Memory
|
|
|
|
MemoryWithOrigins
|
|
|
|
Undefined
|
|
|
|
Thread
|
|
|
|
Leak
|
|
|
|
'Address;Undefined'
|
2019-12-13 02:31:28 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/12/12, TRILAB-135)
|
2019-12-13 02:31:28 +08:00
|
|
|
|
2019-11-19 04:58:06 +08:00
|
|
|
- Update CMake for VS2019 support
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
CMake added support for VS2019 in version 3.15. Changes to the CMake
|
|
|
|
generator setting required changes to scripts. Also updated version
|
|
|
|
references in CMake files as necessary.
|
2019-11-19 04:58:06 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/11/18, HDFFV-10962)
|
2019-11-19 04:58:06 +08:00
|
|
|
|
2019-12-20 06:12:05 +08:00
|
|
|
- Update CMake options to match new autotools options
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Add configure options (autotools - CMake):
|
2019-12-20 06:12:05 +08:00
|
|
|
enable-asserts HDF5_ENABLE_ASSERTS
|
|
|
|
enable-symbols HDF5_ENABLE_SYMBOLS
|
|
|
|
enable-profiling HDF5_ENABLE_PROFILING
|
|
|
|
enable-optimization HDF5_ENABLE_OPTIMIZATION
|
2020-11-24 02:04:49 +08:00
|
|
|
In addition NDEBUG is no longer forced defined and relies on the CMake
|
|
|
|
process.
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/10/07, HDFFV-100901, HDFFV-10637, TRILAB-97)
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2018-12-12 23:12:50 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
Library:
|
|
|
|
--------
|
2021-06-05 05:52:36 +08:00
|
|
|
- gcc warning suppression macros were moved out of H5public.h
|
|
|
|
|
|
|
|
The HDF5 library uses a set of macros to suppress warnings on gcc.
|
|
|
|
These warnings were originally located in H5public.h so that the
|
|
|
|
multi VFD (which only uses public headers) could also make use of them
|
|
|
|
but internal macros should not be publicly exposed like this.
|
|
|
|
|
|
|
|
These macros have now been moved to H5private.h. Pending future multi
|
|
|
|
VFD refactoring, the macros have been duplicated in H5FDmulti.c to
|
|
|
|
suppress the format string warnings there.
|
|
|
|
|
|
|
|
(DER - 2021/06/03)
|
|
|
|
|
2021-05-01 03:47:51 +08:00
|
|
|
- H5Gcreate1() now rejects size_hint parameters larger than UINT32_MAX
|
|
|
|
|
|
|
|
The size_hint value is ultimately stored in a uint32_t struct field,
|
|
|
|
so specifying a value larger than this on a 64-bit machine can cause
|
|
|
|
undefined behavior including crashing the system.
|
|
|
|
|
|
|
|
The documentation for this API call was also incorrect, stating that
|
|
|
|
passing a negative value would cause the library to use a default
|
|
|
|
value. Instead, passing a "negative" value actually passes a very large
|
|
|
|
value, which is probably not what the user intends and can cause
|
|
|
|
crashes on 64-bit systems.
|
|
|
|
|
|
|
|
The Doxygen documentation has been updated and passing values larger
|
|
|
|
than UINT32_MAX for size_hint will now produce a normal HDF5 error.
|
2021-05-21 11:44:36 +08:00
|
|
|
|
2021-05-01 03:47:51 +08:00
|
|
|
(DER - 2021/04/29, HDFFV-11241)
|
|
|
|
|
|
|
|
|
2021-04-29 19:57:02 +08:00
|
|
|
- H5Pset_fapl_log() no longer crashes when passed an invalid fapl ID
|
|
|
|
|
|
|
|
When passed an invalid fapl ID, H5Pset_fapl_log() would usually
|
|
|
|
segfault when attempting to free an uninitialized pointer in the error
|
|
|
|
handling code. This behavior is more common in release builds or
|
|
|
|
when the memory sanitization checks were not selected as a build
|
|
|
|
option.
|
|
|
|
|
|
|
|
The pointer is now correctly initialized and the API call now
|
|
|
|
produces a normal HDF5 error when fed an invalid fapl ID.
|
|
|
|
|
|
|
|
(DER - 2021/04/28, HDFFV-11240)
|
|
|
|
|
2021-04-29 22:33:43 +08:00
|
|
|
- Fixes a segfault when H5Pset_mdc_log_options() is called multiple times
|
|
|
|
|
|
|
|
The call incorrectly attempts to free an internal copy of the previous
|
|
|
|
log location string, which causes a segfault. This only happens
|
|
|
|
when the call is invoked multiple times on the same property list.
|
|
|
|
On the first call to a given fapl, the log location is set to NULL so
|
|
|
|
the segfault does not occur.
|
|
|
|
|
|
|
|
The string is now handled properly and the segfault no longer occurs.
|
|
|
|
|
|
|
|
(DER - 2021/04/27, HDFFV-11239)
|
2021-05-21 11:44:36 +08:00
|
|
|
|
2021-03-23 19:19:53 +08:00
|
|
|
- HSYS_GOTO_ERROR now emits the results of GetLastError() on Windows
|
|
|
|
|
|
|
|
HSYS_GOTO_ERROR is an internal macro that is used to produce error
|
|
|
|
messages when system calls fail. These strings include errno and the
|
|
|
|
the associated strerror() value, which are not particularly useful
|
|
|
|
when a Win32 API call fails.
|
|
|
|
|
|
|
|
On Windows, this macro has been updated to include the result of
|
|
|
|
GetLastError(). When a system call fails on Windows, usually only
|
|
|
|
one of errno and GetLastError() will be useful, however we emit both
|
|
|
|
for the user to parse. The Windows error message is not emitted as
|
|
|
|
it would be awkward to free the FormatMessage() buffer given the
|
|
|
|
existing HDF5 error framework. Users will have to look up the error
|
|
|
|
codes in MSDN.
|
|
|
|
|
|
|
|
The format string on Windows has been changed from:
|
|
|
|
|
|
|
|
"%s, errno = %d, error message = '%s'"
|
|
|
|
|
|
|
|
to:
|
|
|
|
|
|
|
|
"%s, errno = %d, error message = '%s', Win32 GetLastError() = %"PRIu32""
|
|
|
|
|
|
|
|
for those inclined to parse it for error values.
|
|
|
|
|
|
|
|
(DER - 2021/03/21)
|
|
|
|
|
2021-03-23 00:32:40 +08:00
|
|
|
- File locking now works on Windows
|
|
|
|
|
|
|
|
Since version 1.10.0, the HDF5 library has used a file locking scheme
|
|
|
|
to help enforce one reader at a time accessing an HDF5 file, which can
|
|
|
|
be helpful when setting up readers and writers to use the single-
|
|
|
|
writer/multiple-readers (SWMR) access pattern.
|
|
|
|
|
|
|
|
In the past, this was only functional on POSIX systems where flock() or
|
|
|
|
fcntl() were present. Windows used a no-op stub that always succeeded.
|
|
|
|
|
|
|
|
HDF5 now uses LockFileEx() and UnlockFileEx() to lock the file using the
|
|
|
|
same scheme as POSIX systems. We lock the entire file when we set up the
|
|
|
|
locks (by passing DWORDMAX as both size parameters to LockFileEx()).
|
|
|
|
|
|
|
|
(DER - 2021/03/19, HDFFV-10191)
|
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
- H5Epush_ret() now requires a trailing semicolon
|
2021-03-05 00:04:41 +08:00
|
|
|
|
|
|
|
H5Epush_ret() is a function-like macro that has been changed to
|
2021-03-18 03:22:17 +08:00
|
|
|
contain a `do {} while(0)` loop. Consequently, a trailing semicolon
|
2021-03-05 00:04:41 +08:00
|
|
|
is now required to end the `while` statement. Previously, a trailing
|
|
|
|
semi would work, but was not mandatory. This change was made to allow
|
|
|
|
clang-format to correctly format the source code.
|
|
|
|
|
2021-04-15 20:59:01 +08:00
|
|
|
(SAM - 2021/03/03)
|
2021-03-05 00:04:41 +08:00
|
|
|
|
2021-01-20 08:42:14 +08:00
|
|
|
- Improved performance of H5Sget_select_elem_pointlist
|
|
|
|
|
|
|
|
Modified library to cache the point after the last block of points
|
|
|
|
retrieved by H5Sget_select_elem_pointlist, so a subsequent call to the
|
|
|
|
same function to retrieve the next block of points from the list can
|
|
|
|
proceed immediately without needing to iterate over the point list.
|
|
|
|
|
|
|
|
(NAF - 2021/01/19)
|
|
|
|
|
2020-11-30 20:50:39 +08:00
|
|
|
- Replaced H5E_ATOM with H5E_ID in H5Epubgen.h
|
|
|
|
|
|
|
|
The term "atom" is archaic and not in line with current HDF5 library
|
|
|
|
terminology, which uses "ID" instead. "Atom" has mostly been purged
|
|
|
|
from the library internals and this change removes H5E_ATOM from
|
|
|
|
the H5Epubgen.h (exposed via H5Epublic.h) and replaces it with
|
|
|
|
H5E_ID.
|
|
|
|
|
|
|
|
(DER - 2020/11/24, HDFFV-11190)
|
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
- Add a new public function H5Ssel_iter_reset
|
2020-09-19 02:31:50 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
This function resets a dataspace selection iterator back to an
|
|
|
|
initial state so that it may be used for iteration once more.
|
|
|
|
This can be useful when needing to iterate over a selection
|
|
|
|
multiple times without having to repeatedly create/destroy
|
|
|
|
a selection iterator for that dataspace selection.
|
2020-09-19 02:31:50 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(JTH - 2020/09/18)
|
2020-09-19 02:31:50 +08:00
|
|
|
|
2020-08-28 01:54:14 +08:00
|
|
|
- Remove HDFS VFD stubs
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The original implementation of the HDFS VFD included non-functional
|
|
|
|
versions of the following public API calls when the HDFS VFD is
|
|
|
|
not built as a part of the HDF5 library:
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
* H5FD_hdfs_init()
|
|
|
|
* H5Pget_fapl_hdfs()
|
|
|
|
* H5Pset_fapl_hdfs()
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
They will remain present in HDF5 1.10 and HDF5 1.12 releases
|
|
|
|
for binary compatibility purposes but have been removed as of 1.14.0.
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Note that this has nothing to do with the real HDFS VFD API calls
|
|
|
|
that are fully functional when the HDFS VFD is configured and built.
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
We simply changed:
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
#ifdef LIBHDFS
|
|
|
|
<real API call>
|
|
|
|
#else
|
|
|
|
<useless stub>
|
|
|
|
#endif
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
to:
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
#ifdef LIBHDFS
|
|
|
|
<real API call>
|
|
|
|
#endif
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Which is how the other optional VFDs are handled.
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(DER - 2020/08/27)
|
2020-08-28 01:54:14 +08:00
|
|
|
|
2020-03-14 06:13:17 +08:00
|
|
|
- Add Mirror VFD
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Use TCP/IP sockets to perform write-only (W/O) file I/O on a remote
|
|
|
|
machine. Must be used in conjunction with the Splitter VFD.
|
2020-03-14 06:13:17 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(JOS - 2020/03/13, TBD)
|
2020-03-14 06:13:17 +08:00
|
|
|
|
|
|
|
- Add Splitter VFD
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Maintain separate R/W and W/O channels for "concurrent" file writes
|
|
|
|
to two files using a single HDF5 file handle.
|
2020-03-14 06:13:17 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(JOS - 2020/03/13, TBD)
|
2020-03-14 06:13:17 +08:00
|
|
|
|
2020-02-06 04:14:57 +08:00
|
|
|
- Refactored public exposure of haddr_t type in favor of "object tokens"
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
To better accommodate HDF5 VOL connectors where "object addresses in a file"
|
|
|
|
may not make much sense, the following changes were made to the library:
|
|
|
|
|
|
|
|
* Introduced new H5O_token_t "object token" type, which represents a
|
|
|
|
unique and permanent identifier for referencing an HDF5 object within
|
|
|
|
a container; these "object tokens" are meant to replace object addresses.
|
|
|
|
Along with the new type, a new H5Oopen_by_token API call was introduced
|
|
|
|
to open an object by a token, similar to how object addresses were
|
|
|
|
previously used with H5Oopen_by_addr.
|
|
|
|
|
|
|
|
* Introduced new H5Lget_info2, H5Lget_info_by_idx2, H5Literate2, H5Literate_by_name2,
|
|
|
|
H5Lvisit2 and H5Lvisit_by_name2 API calls, along with their associated H5L_info2_t
|
|
|
|
struct and H5L_iterate2_t callback function, which work with the newly-introduced
|
|
|
|
object tokens, instead of object addresses. The original functions have been
|
|
|
|
renamed to version 1 functions and are deprecated in favor of the new version 2
|
|
|
|
functions. The H5L_info_t and H5L_iterate_t types have been renamed to version 1
|
|
|
|
types and are now deprecated in favor of their version 2 counterparts. For each of
|
|
|
|
the functions and types, compatibility macros take place of the original symbols.
|
|
|
|
|
|
|
|
* Introduced new H5Oget_info3, H5Oget_info_by_name3, H5Oget_info_by_idx3,
|
|
|
|
H5Ovisit3 and H5Ovisit_by_name3 API calls, along with their associated H5O_info2_t
|
|
|
|
struct and H5O_iterate2_t callback function, which work with the newly-introduced
|
|
|
|
object tokens, instead of object addresses. The version 2 functions are now
|
|
|
|
deprecated in favor of the version 3 functions. The H5O_info_t and H5O_iterate_t
|
|
|
|
types have been renamed to version 1 types and are now deprecated in favor of their
|
|
|
|
version 2 counterparts. For each, compatibility macros take place of the original
|
|
|
|
symbols.
|
|
|
|
|
|
|
|
* Introduced new H5Oget_native_info, H5Oget_native_info_by_name and
|
|
|
|
H5Oget_native_info_by_idx API calls, along with their associated H5O_native_info_t
|
|
|
|
struct, which are used to retrieve the native HDF5 file format-specific information
|
|
|
|
about an object. This information (such as object header info and B-tree/heap info)
|
|
|
|
has been removed from the new H5O_info2_t struct so that the more generic
|
|
|
|
H5Oget_info(_by_name/_by_idx)3 routines will not try to retrieve it for non-native
|
|
|
|
VOL connectors.
|
|
|
|
|
|
|
|
* Added new H5Otoken_cmp, H5Otoken_to_str and H5Otoken_from_str routines to compare
|
|
|
|
two object tokens, convert an object token into a nicely-readable string format and
|
|
|
|
to convert an object token string back into a real object token, respectively.
|
|
|
|
|
|
|
|
(DER, QAK, JTH - 2020/01/16)
|
2020-02-06 04:14:57 +08:00
|
|
|
|
2019-12-07 06:18:33 +08:00
|
|
|
- Add new public function H5Sselect_adjust.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
This function shifts a dataspace selection by a specified logical offset
|
|
|
|
within the dataspace extent. This can be useful for VOL developers to
|
|
|
|
implement chunked datasets.
|
2019-12-07 06:18:33 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(NAF - 2019/11/18)
|
2019-12-07 06:18:33 +08:00
|
|
|
|
2019-12-07 04:34:56 +08:00
|
|
|
- Add new public function H5Sselect_project_intersection.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
This function computes the intersection between two dataspace selections
|
|
|
|
and projects that intersection into a third selection. This can be useful
|
|
|
|
for VOL developers to implement chunked or virtual datasets.
|
2019-12-07 04:34:56 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(NAF - 2019/11/13, ID-148)
|
2019-12-07 04:34:56 +08:00
|
|
|
|
2019-12-07 04:14:22 +08:00
|
|
|
- Add new public function H5VLget_file_type.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
This function returns a datatype equivalent to the supplied datatype but
|
|
|
|
with the location set to be in the file. This datatype can then be used
|
|
|
|
with H5Tconvert to convert data between file and in-memory representation.
|
2021-03-18 03:22:17 +08:00
|
|
|
This function is intended for use only by VOL connector developers.
|
2019-06-01 08:26:56 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(NAF - 2019/11/08, ID-127)
|
2019-06-01 08:26:56 +08:00
|
|
|
|
2019-08-28 23:33:31 +08:00
|
|
|
|
2018-11-15 05:37:31 +08:00
|
|
|
Parallel Library:
|
2009-01-06 22:58:21 +08:00
|
|
|
-----------------
|
2020-11-24 02:04:49 +08:00
|
|
|
-
|
2019-01-03 01:11:24 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
Fortran Library:
|
|
|
|
----------------
|
2020-08-04 00:11:27 +08:00
|
|
|
- Add wrappers for H5Pset/get_file_locking() API calls
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
h5pget_file_locking_f()
|
|
|
|
h5pset_file_locking_f()
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
See the configure option discussion for HDFFV-11092 (above) for more
|
|
|
|
information on the file locking feature and how it's controlled.
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(DER - 2020/07/30, HDFFV-11092)
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
C++ Library:
|
|
|
|
------------
|
2020-08-04 00:11:27 +08:00
|
|
|
- Add wrappers for H5Pset/get_file_locking() API calls
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
FileAccPropList::setFileLocking()
|
|
|
|
FileAccPropList::getFileLocking()
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
See the configure option discussion for HDFFV-11092 (above) for more
|
|
|
|
information on the file locking feature and how it's controlled.
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(DER - 2020/07/30, HDFFV-11092)
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2018-03-16 23:42:33 +08:00
|
|
|
|
2017-07-06 05:37:11 +08:00
|
|
|
Java Library:
|
2021-02-26 05:12:57 +08:00
|
|
|
-------------
|
2020-11-30 20:50:39 +08:00
|
|
|
- Replaced HDF5AtomException with HDF5IdException
|
|
|
|
|
|
|
|
Since H5E_ATOM changed to H5E_ID in the C library, the Java exception
|
|
|
|
that wraps the error category was also renamed. Its functionality
|
|
|
|
remains unchanged aside from the name.
|
|
|
|
|
|
|
|
(See also the HDFFV-11190 note in the C library section)
|
|
|
|
|
|
|
|
(DER - 2020/11/24, HDFFV-11190)
|
|
|
|
|
2020-10-28 20:06:01 +08:00
|
|
|
- Added new H5S functions.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
H5Sselect_copy, H5Sselect_shape_same, H5Sselect_adjust,
|
|
|
|
H5Sselect_intersect_block, H5Sselect_project_intersection,
|
|
|
|
H5Scombine_hyperslab, H5Smodify_select, H5Scombine_select
|
|
|
|
wrapper functions added.
|
2019-05-01 04:28:30 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/10/27, HDFFV-10868)
|
2019-05-01 04:28:30 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Add wrappers for H5Pset/get_file_locking() API calls
|
2018-12-12 23:12:50 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
H5Pset_file_locking()
|
|
|
|
H5Pget_use_file_locking()
|
|
|
|
H5Pget_ignore_disabled_file_locking()
|
2018-12-12 23:12:50 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Unlike the C++ and Fortran wrappers, there are separate getters for the
|
|
|
|
two file locking settings, each of which returns a boolean value.
|
2018-12-12 23:12:50 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
See the configure option discussion for HDFFV-11092 (above) for more
|
|
|
|
information on the file locking feature and how it's controlled.
|
2018-12-09 00:14:05 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(DER - 2020/07/30, HDFFV-11092)
|
2018-12-09 00:14:05 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Added ability to test java library with VOLs.
|
2018-12-09 00:14:05 +08:00
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
Created a new CMake script that combines the java and vol test scripts.
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/02/03, HDFFV-10996)
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
- Tests fail for non-English locales.
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
In the JUnit tests with a non-English locale, only the part before
|
|
|
|
the decimal comma is replaced by XXXX and this leads to a comparison
|
|
|
|
error. Changed the regex for the Time substitution.
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/01/09, HDFFV-10995)
|
2020-08-04 00:11:27 +08:00
|
|
|
|
2018-12-09 00:14:05 +08:00
|
|
|
|
2016-03-07 02:15:05 +08:00
|
|
|
Tools:
|
|
|
|
------
|
2021-01-16 07:38:03 +08:00
|
|
|
- h5repack added help text for user-defined filters.
|
|
|
|
|
|
|
|
Added help text line that states the valid values of the filter flag
|
|
|
|
for user-defined filters;
|
|
|
|
filter_flag: 1 is OPTIONAL or 0 is MANDATORY
|
|
|
|
|
|
|
|
(ADB - 2021/01/14, HDFFV-11099)
|
|
|
|
|
2020-12-17 03:50:30 +08:00
|
|
|
- Added h5delete tool
|
|
|
|
|
|
|
|
Deleting HDF5 storage when using the VOL can be tricky when the VOL
|
|
|
|
does not create files. The h5delete tool is a simple wrapper around
|
|
|
|
the H5Fdelete() API call that uses the VOL specified in the
|
|
|
|
HDF5_VOL_CONNECTOR environment variable to delete a "file". If
|
|
|
|
the call to H5Fdelete() fails, the tool will attempt to use
|
|
|
|
the POSIX remove(3) call to remove the file.
|
|
|
|
|
|
|
|
Note that the HDF5 library does currently have support for
|
|
|
|
H5Fdelete() in the native VOL connector.
|
|
|
|
|
|
|
|
(DER - 2020/12/16)
|
|
|
|
|
2020-08-15 01:16:58 +08:00
|
|
|
- h5repack added options to control how external links are handled.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Currently h5repack preserves external links and cannot copy and merge
|
|
|
|
data from the external files. Two options, merge and prune, were added to
|
|
|
|
control how to merge data from an external link into the resulting file.
|
|
|
|
--merge Follow external soft link recursively and merge data.
|
|
|
|
--prune Do not follow external soft links and remove link.
|
|
|
|
--merge --prune Follow external link, merge data and remove dangling link.
|
2020-08-15 01:16:58 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/08/05, HDFFV-9984)
|
2020-08-15 01:16:58 +08:00
|
|
|
|
2020-02-08 04:43:02 +08:00
|
|
|
- h5repack was fixed to repack the reference attributes properly.
|
2020-11-24 02:04:49 +08:00
|
|
|
The code line that checks if the update of reference inside a compound
|
|
|
|
datatype is misplaced outside the code block loop that carries out the
|
|
|
|
check. In consequence, the next attribute that is not the reference
|
|
|
|
type was repacked again as the reference type and caused the failure of
|
|
|
|
repacking. The fix is to move the corresponding code line to the correct
|
|
|
|
code block.
|
2020-02-08 04:43:02 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(KY -2020/02/07, HDFFV-11014)
|
2020-02-08 04:43:02 +08:00
|
|
|
|
2019-12-20 06:29:35 +08:00
|
|
|
- h5diff was updated to use the new reference APIs.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
h5diff uses the new reference APIs to compare references.
|
|
|
|
Attribute references can also be compared.
|
2019-12-20 06:29:35 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/12/19, HDFFV-10980)
|
2019-12-20 06:29:35 +08:00
|
|
|
|
2019-12-07 04:10:56 +08:00
|
|
|
- h5dump and h5ls were updated to use the new reference APIs.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The tools library now use the new reference APIs to inspect a
|
|
|
|
file. Also the DDL spec was updated to reflect the format
|
|
|
|
changes produced with the new APIs. The export API and support
|
|
|
|
functions in the JNI were updated to match.
|
2019-10-03 02:08:35 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/12/06, HDFFV-10876 and HDFFV-10877)
|
2019-06-24 20:27:32 +08:00
|
|
|
|
2016-03-08 00:01:53 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
High-Level APIs:
|
2021-02-26 05:12:57 +08:00
|
|
|
----------------
|
2020-09-28 00:46:58 +08:00
|
|
|
-
|
2016-03-09 21:56:58 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
C Packet Table API:
|
|
|
|
-------------------
|
2017-05-27 00:17:44 +08:00
|
|
|
-
|
2016-03-07 02:15:05 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Internal header file:
|
|
|
|
---------------------
|
2017-02-01 06:05:20 +08:00
|
|
|
-
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Documentation:
|
|
|
|
--------------
|
2017-05-05 06:14:38 +08:00
|
|
|
-
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Support for new platforms, languages and compilers
|
|
|
|
==================================================
|
2017-03-21 02:32:26 +08:00
|
|
|
-
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Bug Fixes since HDF5-1.12.0 release
|
2021-02-26 05:12:57 +08:00
|
|
|
===================================
|
2009-01-06 22:58:21 +08:00
|
|
|
Library
|
|
|
|
-------
|
2021-05-13 03:35:53 +08:00
|
|
|
- Fixed CVE-2018-14460
|
|
|
|
|
|
|
|
The tool h5repack produced a segfault when the rank in dataspace
|
|
|
|
message was corrupted, causing invalid read while decoding the
|
|
|
|
dimension sizes.
|
|
|
|
|
|
|
|
The problem was fixed by ensuring that decoding the dimension sizes
|
|
|
|
and max values will not go beyong the end of the buffer.
|
|
|
|
|
|
|
|
(BMR - 2021/05/12, HDFFV-11223)
|
|
|
|
|
|
|
|
- Fixed CVE-2018-11206
|
2021-03-19 21:15:03 +08:00
|
|
|
|
|
|
|
The tool h5dump produced a segfault when the size of a fill value
|
|
|
|
message was corrupted and caused a buffer overflow.
|
|
|
|
|
|
|
|
The problem was fixed by verifying the fill value's size
|
|
|
|
against the buffer size before attempting to access the buffer.
|
|
|
|
|
|
|
|
(BMR - 2021/03/15, HDFFV-10480)
|
|
|
|
|
|
|
|
- Fixed CVE-2018-14033 (same issue as CVE-2020-10811)
|
|
|
|
|
|
|
|
The tool h5dump produced a segfault when the storage size message
|
|
|
|
was corrupted and caused a buffer overflow.
|
|
|
|
|
|
|
|
The problem was fixed by verifying the storage size against the
|
|
|
|
buffer size before attempting to access the buffer.
|
|
|
|
|
|
|
|
(BMR - 2021/03/15, HDFFV-11159/HDFFV-11049)
|
|
|
|
|
2021-03-04 20:29:10 +08:00
|
|
|
- Remove underscores on header file guards
|
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
Header file guards used a variety of underscores at the beginning of the define.
|
2021-03-04 20:29:10 +08:00
|
|
|
|
|
|
|
Removed all leading (some trailing) underscores from header file guards.
|
|
|
|
|
|
|
|
(ADB - 2021/03/03, #361)
|
|
|
|
|
2021-02-17 20:37:23 +08:00
|
|
|
- Fixed issue with MPI communicator and info object not being
|
|
|
|
copied into new FAPL retrieved from H5F_get_access_plist
|
|
|
|
|
|
|
|
Added logic to copy the MPI communicator and info object into
|
|
|
|
the output FAPL. MPI communicator is retrieved from the VFD, while
|
|
|
|
the MPI info object is retrieved from the file's original FAPL.
|
|
|
|
|
|
|
|
(JTH - 2021/02/15, HDFFV-11109)
|
|
|
|
|
2021-01-23 05:05:39 +08:00
|
|
|
- Fixed problems with vlens and refs inside compound using
|
|
|
|
H5VLget_file_type()
|
|
|
|
|
|
|
|
Modified library to properly ref count H5VL_object_t structs and only
|
|
|
|
consider file vlen and reference types to be equal if their files are
|
|
|
|
the same.
|
|
|
|
|
|
|
|
(NAF - 2021/01/22)
|
|
|
|
|
2020-08-15 03:49:42 +08:00
|
|
|
- Creation of dataset with optional filter
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
When the combination of type, space, etc doesn't work for filter
|
|
|
|
and the filter is optional, it was supposed to be skipped but it was
|
|
|
|
not skipped and the creation failed.
|
2020-08-15 03:49:42 +08:00
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
Allowed the creation of the dataset in such a situation.
|
2020-08-15 03:49:42 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(BMR - 2020/08/13, HDFFV-10933)
|
2020-08-15 03:49:42 +08:00
|
|
|
|
2020-08-13 05:14:44 +08:00
|
|
|
- Explicitly declared dlopen to use RTLD_LOCAL
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
dlopen documentation states that if neither RTLD_GLOBAL nor
|
|
|
|
RTLD_LOCAL are specified, then the default behavior is unspecified.
|
|
|
|
The default on linux is usually RTLD_LOCAL while macos will default
|
|
|
|
to RTLD_GLOBAL.
|
2019-08-24 04:06:19 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/08/12, HDFFV-11127)
|
2019-08-24 04:06:19 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- H5Sset_extent_none() sets the dataspace class to H5S_NO_CLASS which
|
|
|
|
causes asserts/errors when passed to other dataspace API calls.
|
2018-09-06 05:37:49 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
H5S_NO_CLASS is an internal class value that should not have been
|
|
|
|
exposed via a public API call.
|
2018-09-06 05:37:49 +08:00
|
|
|
|
2021-05-21 11:44:36 +08:00
|
|
|
In debug builds of the library, this can cause assert() function to
|
2021-04-15 20:59:01 +08:00
|
|
|
trip. In non-debug builds, it will produce normal library errors.
|
2018-08-26 11:54:30 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The new library behavior is for H5Sset_extent_none() to convert
|
|
|
|
the dataspace into one of type H5S_NULL, which is better handled
|
|
|
|
by the library and easier for developers to reason about.
|
2018-08-26 11:54:30 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(DER - 2020/07/27, HDFFV-11027)
|
2018-08-26 11:54:30 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Fixed issues CVE-2018-13870 and CVE-2018-13869
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
When a buffer overflow occurred because a name length was corrupted
|
|
|
|
and became very large, h5dump crashed on memory access violation.
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
A check for reading pass the end of the buffer was added to multiple
|
|
|
|
locations to prevent the crashes and h5dump now simply fails with an
|
|
|
|
error message when this error condition occurs.
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(BMR - 2020/07/22, HDFFV-11120 and HDFFV-11121)
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Fixed the segmentation fault when reading attributes with multiple threads
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
It was reported that the reading of attributes with variable length string
|
|
|
|
datatype will crash with segmentation fault particularly when the number of
|
|
|
|
threads is high (>16 threads). The problem was due to the file pointer that
|
|
|
|
was set in the variable length string datatype for the attribute. That file
|
|
|
|
pointer was already closed when the attribute was accessed.
|
2019-09-17 06:17:31 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The problem was fixed by setting the file pointer to the current opened file pointer
|
|
|
|
when the attribute was accessed. Similar patch up was done before when reading
|
|
|
|
dataset with variable length string datatype.
|
2019-12-09 13:52:29 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(VC - 2020/07/13, HDFFV-11080)
|
2019-12-09 13:52:29 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Fixed CVE-2020-10810
|
2019-12-09 13:52:29 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The tool h5clear produced a segfault during an error recovery in
|
|
|
|
the superblock decoding. An internal pointer was reset to prevent
|
|
|
|
further accessing when it is not assigned with a value.
|
2019-12-09 13:52:29 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(BMR - 2020/06/29, HDFFV-11053)
|
2020-07-28 08:32:01 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Fixed CVE-2018-17435
|
2020-07-28 08:32:01 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The tool h52gif produced a segfault when the size of an attribute
|
|
|
|
message was corrupted and caused a buffer overflow.
|
2020-07-28 08:32:01 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The problem was fixed by verifying the attribute message's size
|
|
|
|
against the buffer size before accessing the buffer. h52gif was
|
|
|
|
also fixed to display the failure instead of silently exiting
|
|
|
|
after the segfault was eliminated.
|
2020-07-28 08:32:01 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(BMR - 2020/06/19, HDFFV-10591)
|
2020-07-28 08:32:01 +08:00
|
|
|
|
2019-08-28 23:33:31 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Java Library
|
|
|
|
------------
|
|
|
|
- JNI utility function does not handle new references.
|
|
|
|
|
|
|
|
The JNI utility function for converting reference data to string did
|
|
|
|
not use the new APIs. In addition to fixing that function, added new
|
|
|
|
java tests for using the new APIs.
|
|
|
|
|
|
|
|
(ADB - 2021/02/16, HDFFV-11212)
|
|
|
|
|
2020-12-17 01:59:51 +08:00
|
|
|
- The H5FArray.java class, in which virtually the entire execution time
|
|
|
|
is spent using the HDFNativeData method that converts from an array
|
|
|
|
of bytes to an array of the destination Java type.
|
|
|
|
|
|
|
|
1. Convert the entire byte array into a 1-d array of the desired type,
|
|
|
|
rather than performing 1 conversion per row;
|
|
|
|
2. Use the Java Arrays method copyOfRange to grab the section of the
|
|
|
|
array from (1) that is desired to be inserted into the destination array.
|
|
|
|
|
|
|
|
(PGT,ADB - 2020/12/13, HDFFV-10865)
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- Added ability to test java library with VOLs.
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
Created a new CMake script that combines the java and vol test scripts.
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/02/03, HDFFV-10996)
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2021-03-18 03:22:17 +08:00
|
|
|
- Tests fail for non-English locales.
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
In the JUnit tests with a non-English locale, only the part before
|
|
|
|
the decimal comma is replaced by XXXX and this leads to a comparison
|
|
|
|
error. Changed the regex for the Time substitution.
|
2018-10-05 05:48:34 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/01/09, HDFFV-10995)
|
2018-10-05 05:48:34 +08:00
|
|
|
|
|
|
|
|
2018-08-28 04:13:54 +08:00
|
|
|
Configuration
|
|
|
|
-------------
|
2021-06-08 06:59:47 +08:00
|
|
|
- Refactor CMake configure for Fortran
|
|
|
|
|
|
|
|
The Fortran configure tests for KINDs reused a single output file that was
|
|
|
|
read to form the Integer and Real Kinds defines. However, if config was run
|
|
|
|
more then once, the CMake completed variable prevented the tests from executing
|
|
|
|
again and the last value saved in the file was used to create the define.
|
|
|
|
Creating separate files for each KIND solved the issue.
|
|
|
|
|
|
|
|
In addition the test for H5_PAC_C_MAX_REAL_PRECISION was not pulling in
|
|
|
|
defines for proper operation and did not define H5_PAC_C_MAX_REAL_PRECISION
|
|
|
|
correctly for a zero value. This was fixed by supplying the required defines.
|
|
|
|
In addition it was moved from the Fortran specific HDF5UseFortran.camke file
|
|
|
|
to the C centric ConfigureChecks.cmake file.
|
|
|
|
|
|
|
|
(ADB - 2021/06/03)
|
|
|
|
|
2021-03-23 04:28:06 +08:00
|
|
|
- Remove arbitrary warning flag groups from CMake builds
|
|
|
|
|
|
|
|
The arbitrary groups were created to reduce the quantity of warnings being
|
|
|
|
reported that overwhelmed testing report systems. Considerable work has
|
|
|
|
been accomplished to reduce the warning count and these arbitrary groups
|
|
|
|
are no longer needed.
|
|
|
|
Also the default for all warnings, HDF5_ENABLE_ALL_WARNINGS, is now ON.
|
|
|
|
|
|
|
|
Visual Studio warnings C4100, C4706, and C4127 have been moved to
|
|
|
|
developer warnings, HDF5_ENABLE_DEV_WARNINGS, and are disabled for normal builds.
|
|
|
|
|
|
|
|
(ADB - 2021/03/22, HDFFV-11228)
|
|
|
|
|
2021-01-13 22:29:15 +08:00
|
|
|
- Reclassify CMake messages, to allow new modes and --log-level option
|
|
|
|
|
|
|
|
CMake message commands have a mode argument. By default, STATUS mode
|
|
|
|
was chosen for any non-error message. CMake version 3.15 added additional
|
|
|
|
modes, NOTICE, VERBOSE, DEBUG and TRACE. All message commands with a mode
|
|
|
|
of STATUS were reviewed and most were reclassified as VERBOSE. The new
|
|
|
|
mode was protected by a check for a CMake version of at least 3.15. If CMake
|
|
|
|
version 3.17 or above is used, the user can use the command line option
|
|
|
|
of "--log-level" to further restrict which message commands are displayed.
|
|
|
|
|
|
|
|
(ADB - 2021/01/11, HDFFV-11144)
|
|
|
|
|
2021-01-08 20:52:08 +08:00
|
|
|
- Fixes Autotools determination of the stat struct having an st_blocks field
|
|
|
|
|
|
|
|
A missing parenthesis in an autoconf macro prevented building the test
|
|
|
|
code used to determine if the stat struct contains the st_blocks field.
|
|
|
|
Now that the test functions correctly, the H5_HAVE_STAT_ST_BLOCKS #define
|
|
|
|
found in H5pubconf.h will be defined correctly on both the Autotools and
|
|
|
|
CMake. This #define is only used in the tests and does not affect the
|
|
|
|
HDF5 C library.
|
|
|
|
|
2021-01-13 22:29:15 +08:00
|
|
|
(DER - 2021/01/07, HDFFV-11201)
|
2019-08-13 01:45:29 +08:00
|
|
|
|
2018-08-28 04:13:54 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
Tools
|
|
|
|
-----
|
2021-04-15 20:59:01 +08:00
|
|
|
- Changed how h5dump and h5ls identify long double.
|
|
|
|
|
|
|
|
Long double support is not consistent across platforms. Tools will always
|
|
|
|
identify long double as 128-bit [little/big]-endian float nn-bit precision.
|
|
|
|
New test file created for datasets with attributes for float, double and
|
|
|
|
long double. In addition any unknown integer or float datatype will now
|
|
|
|
also show the number of bits for precision.
|
|
|
|
These files are also used in the java tests.
|
|
|
|
|
|
|
|
(ADB - 2021/03/24, HDFFV-11229)
|
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
- Fixed tools argument parsing.
|
2020-02-25 02:49:56 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
Tools parsing used the length of the option from the long array to match
|
|
|
|
the option from the command line. This incorrectly matched a shorter long
|
2021-03-18 03:22:17 +08:00
|
|
|
name option that happened to be a subset of another long option.
|
2021-01-27 21:56:28 +08:00
|
|
|
Changed to match whole names.
|
2020-11-24 02:04:49 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
(ADB - 2021/01/19, HDFFV-11106)
|
2019-01-09 06:23:55 +08:00
|
|
|
|
2020-07-20 23:26:17 +08:00
|
|
|
- The tools library was updated by standardizing the error stack process.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
General sequence is:
|
2020-07-20 23:26:17 +08:00
|
|
|
h5tools_setprogname(PROGRAMNAME);
|
|
|
|
h5tools_setstatus(EXIT_SUCCESS);
|
|
|
|
h5tools_init();
|
|
|
|
... process the command-line (check for error-stack enable) ...
|
|
|
|
h5tools_error_report();
|
|
|
|
... (do work) ...
|
|
|
|
h5diff_exit(ret);
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/07/20, HDFFV-11066)
|
2020-07-20 23:26:17 +08:00
|
|
|
|
|
|
|
- h5diff fixed a command line parsing error.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
h5diff would ignore the argument to -d (delta) if it is smaller than DBL_EPSILON.
|
|
|
|
The macro H5_DBL_ABS_EQUAL was removed and a direct value comparision was used.
|
2020-07-20 23:26:17 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/07/20, HDFFV-10897)
|
2020-07-20 23:26:17 +08:00
|
|
|
|
|
|
|
- h5diff added a command line option to ignore attributes.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
h5diff would ignore all objects with a supplied path if the exclude-path argument is used.
|
2021-03-18 03:22:17 +08:00
|
|
|
Adding the exclude-attribute argument will only exclude attributes, with the supplied path,
|
|
|
|
from comparison.
|
2020-07-20 23:26:17 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/07/20, HDFFV-5935)
|
2020-07-20 23:26:17 +08:00
|
|
|
|
|
|
|
- h5diff added another level to the verbose argument to print filenames.
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
Added verbose level 3 that is level 2 plus the filenames. The levels are:
|
2020-07-20 23:26:17 +08:00
|
|
|
0 : Identical to '-v' or '--verbose'
|
|
|
|
1 : All level 0 information plus one-line attribute status summary
|
|
|
|
2 : All level 1 information plus extended attribute status report
|
|
|
|
3 : All level 2 information plus file names
|
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2020/07/20, HDFFV-10005)
|
2018-08-08 02:18:56 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- h5repack was fixed to repack the reference attributes properly.
|
2018-05-17 01:15:02 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The code line that checks if the update of reference inside a compound
|
|
|
|
datatype is misplaced outside the code block loop that carries out the
|
|
|
|
check. In consequence, the next attribute that is not the reference
|
|
|
|
type was repacked again as the reference type and caused the failure of
|
|
|
|
repacking. The fix is to move the corresponding code line to the correct
|
|
|
|
code block.
|
2018-05-17 01:15:02 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(KY -2020/02/10, HDFFV-11014)
|
2018-05-17 01:15:02 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- h5diff was updated to use the new reference APIs.
|
2018-05-09 04:17:43 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
h5diff uses the new reference APIs to compare references.
|
|
|
|
Attribute references can also be compared.
|
2018-05-09 04:17:43 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/12/19, HDFFV-10980)
|
2018-05-09 04:17:43 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
- h5dump and h5ls were updated to use the new reference APIs.
|
2017-11-07 01:30:40 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
The tools library now use the new reference APIs to inspect a
|
|
|
|
file. Also the DDL spec was updated to reflect the format
|
|
|
|
changes produced with the new APIs. The export API and support
|
|
|
|
functions in the JNI were updated to match.
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
(ADB - 2019/12/06, HDFFV-10876 and HDFFV-10877)
|
2016-03-05 04:49:15 +08:00
|
|
|
|
2017-04-04 00:33:01 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
Performance
|
|
|
|
-------------
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
|
|
Fortran API
|
2021-02-26 05:12:57 +08:00
|
|
|
-----------
|
2021-01-27 21:56:28 +08:00
|
|
|
- Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size in h5fget_file_image_f.
|
|
|
|
|
|
|
|
(MSB - 2020/02/18, HDFFV-11029)
|
|
|
|
|
|
|
|
|
|
|
|
High-Level Library
|
2021-02-26 05:12:57 +08:00
|
|
|
------------------
|
2018-04-04 00:54:18 +08:00
|
|
|
-
|
2016-03-05 03:50:52 +08:00
|
|
|
|
2020-11-24 02:04:49 +08:00
|
|
|
|
2021-02-26 05:12:57 +08:00
|
|
|
Fortran High-Level APIs
|
|
|
|
-----------------------
|
2017-03-21 02:32:26 +08:00
|
|
|
-
|
2016-03-07 02:15:05 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
|
2016-03-08 00:01:53 +08:00
|
|
|
Documentation
|
|
|
|
-------------
|
2017-05-05 06:14:38 +08:00
|
|
|
-
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
F90 APIs
|
|
|
|
--------
|
2017-03-21 02:32:26 +08:00
|
|
|
-
|
2016-03-08 00:01:53 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
C++ APIs
|
|
|
|
--------
|
2021-05-20 04:48:20 +08:00
|
|
|
- Added DataSet::operator=
|
|
|
|
|
|
|
|
Some compilers complain if the copy constructor is given explicitly
|
|
|
|
but the assignment operator is implicitly set to default.
|
|
|
|
|
|
|
|
(2021/05/19)
|
2018-08-08 02:18:56 +08:00
|
|
|
|
2021-01-27 21:56:28 +08:00
|
|
|
|
2013-02-14 00:03:49 +08:00
|
|
|
Testing
|
|
|
|
-------
|
2020-11-24 02:04:49 +08:00
|
|
|
- Stopped java/test/junit.sh.in installing libs for testing under ${prefix}
|
|
|
|
|
2020-12-17 01:59:51 +08:00
|
|
|
Lib files needed are now copied to a subdirectory in the java/test
|
|
|
|
directory, and on Macs the loader path for libhdf5.xxxs.so is changed
|
|
|
|
in the temporary copy of libhdf5_java.dylib.
|
2020-11-24 02:04:49 +08:00
|
|
|
|
2020-12-17 01:59:51 +08:00
|
|
|
(LRK, 2020/07/02, HDFFV-11063)
|
2019-03-27 03:00:27 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
|
2012-11-15 02:10:03 +08:00
|
|
|
Supported Platforms
|
|
|
|
===================
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2018-04-04 00:54:18 +08:00
|
|
|
Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
|
|
|
|
#1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
|
|
|
|
(ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
|
2014-10-06 21:27:47 +08:00
|
|
|
IBM XL C/C++ V13.1
|
|
|
|
IBM XL Fortran V15.1
|
2016-03-08 00:01:53 +08:00
|
|
|
|
2017-02-01 06:05:20 +08:00
|
|
|
Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
|
|
|
|
#1 SMP x86_64 GNU/Linux compilers:
|
2018-04-04 05:57:26 +08:00
|
|
|
(kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4)
|
|
|
|
Version 4.9.3, Version 5.2.0,
|
2017-02-01 06:05:20 +08:00
|
|
|
Intel(R) C (icc), C++ (icpc), Fortran (icc)
|
|
|
|
compilers:
|
2018-04-04 00:54:18 +08:00
|
|
|
Version 17.0.0.098 Build 20160721
|
2017-02-01 06:05:20 +08:00
|
|
|
MPICH 3.1.4 compiled with GCC 4.9.3
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2013-04-13 03:48:07 +08:00
|
|
|
SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
|
|
|
|
(emu) Sun Fortran 95 8.6 SunOS_sparc
|
|
|
|
Sun C++ 5.12 SunOS_sparc
|
2012-11-15 02:10:03 +08:00
|
|
|
|
2018-08-21 07:26:57 +08:00
|
|
|
Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake)
|
2019-11-19 05:02:10 +08:00
|
|
|
Visual Studio 2017 w/ Intel Fortran 19 (cmake)
|
|
|
|
Visual Studio 2019 w/ Intel Fortran 19 (cmake)
|
2020-12-17 01:59:51 +08:00
|
|
|
Visual Studio 2019 w/ MSMPI 10.1 (cmake)
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2017-02-01 06:05:20 +08:00
|
|
|
Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.1 from Xcode 7.0
|
|
|
|
64-bit gfortran GNU Fortran (GCC) 4.9.2
|
|
|
|
(osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
|
2012-11-15 02:10:03 +08:00
|
|
|
|
2017-02-01 06:05:20 +08:00
|
|
|
Mac OS X El Capitan 10.11.6 Apple clang/clang++ version 7.3.0 from Xcode 7.3
|
|
|
|
64-bit gfortran GNU Fortran (GCC) 5.2.0
|
2018-04-04 05:57:26 +08:00
|
|
|
(osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2
|
|
|
|
|
|
|
|
Mac OS Sierra 10.12.6 Apple LLVM version 8.1.0 (clang/clang++-802.0.42)
|
|
|
|
64-bit gfortran GNU Fortran (GCC) 7.1.0
|
|
|
|
(swallow/kite) Intel icc/icpc/ifort version 17.0.2
|
2012-11-15 02:10:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
Tested Configuration Features Summary
|
|
|
|
=====================================
|
2009-01-06 22:58:21 +08:00
|
|
|
|
|
|
|
In the tables below
|
2016-03-08 00:01:53 +08:00
|
|
|
y = tested
|
2012-11-15 02:10:03 +08:00
|
|
|
n = not tested in this release
|
|
|
|
C = Cluster
|
|
|
|
W = Workstation
|
2009-01-06 22:58:21 +08:00
|
|
|
x = not working in this release
|
2012-11-15 02:10:03 +08:00
|
|
|
dna = does not apply
|
2009-01-06 22:58:21 +08:00
|
|
|
( ) = footnote appears below second table
|
2016-03-08 00:01:53 +08:00
|
|
|
<blank> = testing incomplete on this feature or platform
|
2012-11-15 02:10:03 +08:00
|
|
|
|
|
|
|
Platform C F90/ F90 C++ zlib SZIP
|
|
|
|
parallel F2003 parallel
|
2013-04-13 03:48:07 +08:00
|
|
|
Solaris2.11 32-bit n y/y n y y y
|
|
|
|
Solaris2.11 64-bit n y/n n y y y
|
2017-02-01 06:05:20 +08:00
|
|
|
Windows 10 y y/y n y y y
|
|
|
|
Windows 10 x64 y y/y n y y y
|
|
|
|
Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
|
2018-06-25 07:04:23 +08:00
|
|
|
Mac OS X Mavericks 10.9.5 64-bit n y/y n y y ?
|
|
|
|
Mac OS X Yosemite 10.10.5 64-bit n y/y n y y ?
|
|
|
|
Mac OS X El Capitan 10.11.6 64-bit n y/y n y y ?
|
|
|
|
CentOS 6.7 Linux 2.6.18 x86_64 GNU n y/y n y y y
|
|
|
|
CentOS 6.7 Linux 2.6.18 x86_64 Intel n y/y n y y y
|
|
|
|
CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
|
2017-02-01 07:10:07 +08:00
|
|
|
CentOS 7.2 Linux 2.6.32 x86_64 GNU y y/y y y y y
|
|
|
|
CentOS 7.2 Linux 2.6.32 x86_64 Intel n y/y n y y y
|
2018-06-25 07:04:23 +08:00
|
|
|
Linux 2.6.32-573.18.1.el6.ppc64 n y/n n y y y
|
2012-11-15 02:10:03 +08:00
|
|
|
|
|
|
|
|
2016-03-08 00:01:53 +08:00
|
|
|
Platform Shared Shared Shared Thread-
|
|
|
|
C libs F90 libs C++ libs safe
|
|
|
|
Solaris2.11 32-bit y y y y
|
|
|
|
Solaris2.11 64-bit y y y y
|
2017-02-01 06:05:20 +08:00
|
|
|
Windows 10 y y y y
|
|
|
|
Windows 10 x64 y y y y
|
|
|
|
Mac OS X Mountain Lion 10.8.5 64-bit y n y y
|
|
|
|
Mac OS X Mavericks 10.9.5 64-bit y n y y
|
|
|
|
Mac OS X Yosemite 10.10.5 64-bit y n y y
|
|
|
|
Mac OS X El Capitan 10.11.6 64-bit y n y y
|
2018-06-25 07:04:23 +08:00
|
|
|
CentOS 6.7 Linux 2.6.18 x86_64 GNU y y y y
|
|
|
|
CentOS 6.7 Linux 2.6.18 x86_64 Intel y y y n
|
|
|
|
CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y n
|
|
|
|
CentOS 7.2 Linux 2.6.32 x86_64 GNU y y y n
|
2017-02-01 07:10:07 +08:00
|
|
|
CentOS 7.2 Linux 2.6.32 x86_64 Intel y y y n
|
2017-02-01 06:05:20 +08:00
|
|
|
Linux 2.6.32-573.18.1.el6.ppc64 y y y n
|
2012-11-15 02:10:03 +08:00
|
|
|
|
|
|
|
Compiler versions for each platform are listed in the preceding
|
|
|
|
"Supported Platforms" table.
|
|
|
|
|
|
|
|
|
|
|
|
More Tested Platforms
|
|
|
|
=====================
|
|
|
|
The following platforms are not supported but have been tested for this release.
|
|
|
|
|
2017-03-23 05:45:06 +08:00
|
|
|
Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
|
|
|
|
#1 SMP x86_64 GNU/Linux compilers:
|
|
|
|
(mayll/platypus) Version 4.4.7 20120313
|
2018-04-04 00:54:18 +08:00
|
|
|
Version 4.9.3, 5.3.0, 6.2.0
|
2017-03-23 05:45:06 +08:00
|
|
|
PGI C, Fortran, C++ for 64-bit target on
|
|
|
|
x86-64;
|
2018-04-04 00:54:18 +08:00
|
|
|
Version 17.10-0
|
2017-03-23 05:45:06 +08:00
|
|
|
Intel(R) C (icc), C++ (icpc), Fortran (icc)
|
|
|
|
compilers:
|
2018-04-04 00:54:18 +08:00
|
|
|
Version 17.0.4.196 Build 20170411
|
2017-03-23 05:45:06 +08:00
|
|
|
MPICH 3.1.4 compiled with GCC 4.9.3
|
|
|
|
|
2017-05-05 06:14:38 +08:00
|
|
|
Linux 3.10.0-327.18.2.el7 GNU C (gcc) and C++ (g++) compilers
|
|
|
|
#1 SMP x86_64 GNU/Linux Version 4.8.5 20150623 (Red Hat 4.8.5-4)
|
2017-05-05 06:14:38 +08:00
|
|
|
(jelly) with NAG Fortran Compiler Release 6.1(Tozai)
|
2018-04-04 00:54:18 +08:00
|
|
|
GCC Version 7.1.0
|
|
|
|
OpenMPI 3.0.0-GCC-7.2.0-2.29
|
2017-05-05 06:14:38 +08:00
|
|
|
Intel(R) C (icc) and C++ (icpc) compilers
|
2018-04-04 05:57:26 +08:00
|
|
|
Version 17.0.0.098 Build 20160721
|
2017-05-05 06:14:38 +08:00
|
|
|
with NAG Fortran Compiler Release 6.1(Tozai)
|
|
|
|
|
2018-04-04 00:54:18 +08:00
|
|
|
Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0
|
|
|
|
#1 SMP x86_64 GNU/Linux
|
|
|
|
(moohan)
|
|
|
|
|
2017-02-04 03:24:12 +08:00
|
|
|
Linux 2.6.32-573.18.1.el6.ppc64 MPICH mpich 3.1.4 compiled with
|
|
|
|
#1 SMP ppc64 GNU/Linux IBM XL C/C++ for Linux, V13.1
|
|
|
|
(ostrich) and IBM XL Fortran for Linux, V15.1
|
2014-04-17 01:11:51 +08:00
|
|
|
|
2021-05-21 11:44:36 +08:00
|
|
|
Fedora33 5.11.18-200.fc33.x86_64
|
|
|
|
#1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1)
|
|
|
|
GNU Fortran (GCC) 10.3.1 20210422 (Red Hat 10.3.1-1)
|
2021-02-03 21:57:04 +08:00
|
|
|
clang version 11.0.0 (Fedora 11.0.0-2.fc33)
|
2020-11-24 02:04:49 +08:00
|
|
|
(cmake and autotools)
|
|
|
|
|
2021-05-21 11:44:36 +08:00
|
|
|
Ubuntu20.04 5.8.0-53-generic-x86_64
|
|
|
|
#60~20.04-Ubuntu SMP x86_64 GNU/Linux GNU gcc (GCC) 9.3.0-17ubuntu1
|
|
|
|
GNU Fortran (GCC) 9.3.0-17ubuntu1
|
|
|
|
clang version 10.0.0-4ubuntu1
|
|
|
|
(cmake and autotools)
|
|
|
|
|
|
|
|
Ubuntu20.10 5.8.0-53-generic-x86_64
|
|
|
|
#60-Ubuntu SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.0-13ubuntu1
|
2020-11-24 02:04:49 +08:00
|
|
|
GNU Fortran (GCC) 10.2.0-13ubuntu1
|
2021-05-21 11:44:36 +08:00
|
|
|
Ubuntu clang version 11.0.0-2
|
2019-11-19 05:02:10 +08:00
|
|
|
(cmake and autotools)
|
2016-03-08 00:01:53 +08:00
|
|
|
|
2021-02-03 21:57:04 +08:00
|
|
|
SUSE15sp2 5.3.18-22-default
|
|
|
|
#1 SMP x86_64 GNU/Linux GNU gcc (SUSE Linux) 7.5.0
|
|
|
|
GNU Fortran (SUSE Linux) 7.5.0
|
|
|
|
clang version 7.0.1 (tags/RELEASE_701/final 349238)
|
|
|
|
(cmake and autotools)
|
|
|
|
|
2017-03-21 02:32:26 +08:00
|
|
|
|
2009-01-06 22:58:21 +08:00
|
|
|
Known Problems
|
|
|
|
==============
|
2019-05-07 23:03:10 +08:00
|
|
|
CMake files do not behave correctly with paths containing spaces.
|
|
|
|
Do not use spaces in paths because the required escaping for handling spaces
|
|
|
|
results in very complex and fragile build files.
|
|
|
|
ADB - 2019/05/07
|
2007-04-14 02:53:50 +08:00
|
|
|
|
2017-05-05 06:14:38 +08:00
|
|
|
At present, metadata cache images may not be generated by parallel
|
|
|
|
applications. Parallel applications can read files with metadata cache
|
|
|
|
images, but since this is a collective operation, a deadlock is possible
|
|
|
|
if one or more processes do not participate.
|
|
|
|
|
2020-12-17 01:59:51 +08:00
|
|
|
CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA
|
|
|
|
issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler.
|
|
|
|
|
2017-05-05 06:14:38 +08:00
|
|
|
Known problems in previous releases can be found in the HISTORY*.txt files
|
|
|
|
in the HDF5 source. Please report any new problems found to
|
|
|
|
help@hdfgroup.org.
|
|
|
|
|
2018-07-31 04:09:50 +08:00
|
|
|
|
|
|
|
CMake vs. Autotools installations
|
|
|
|
=================================
|
|
|
|
While both build systems produce similar results, there are differences.
|
|
|
|
Each system produces the same set of folders on linux (only CMake works
|
|
|
|
on standard Windows); bin, include, lib and share. Autotools places the
|
|
|
|
COPYING and RELEASE.txt file in the root folder, CMake places them in
|
|
|
|
the share folder.
|
|
|
|
|
|
|
|
The bin folder contains the tools and the build scripts. Additionally, CMake
|
2018-07-31 22:41:11 +08:00
|
|
|
creates dynamic versions of the tools with the suffix "-shared". Autotools
|
|
|
|
installs one set of tools depending on the "--enable-shared" configuration
|
|
|
|
option.
|
2018-07-31 04:09:50 +08:00
|
|
|
build scripts
|
|
|
|
-------------
|
|
|
|
Autotools: h5c++, h5cc, h5fc
|
|
|
|
CMake: h5c++, h5cc, h5hlc++, h5hlcc
|
|
|
|
|
|
|
|
The include folder holds the header files and the fortran mod files. CMake
|
|
|
|
places the fortran mod files into separate shared and static subfolders,
|
|
|
|
while Autotools places one set of mod files into the include folder. Because
|
2018-07-31 22:41:11 +08:00
|
|
|
CMake produces a tools library, the header files for tools will appear in
|
2018-07-31 04:09:50 +08:00
|
|
|
the include folder.
|
|
|
|
|
|
|
|
The lib folder contains the library files, and CMake adds the pkgconfig
|
|
|
|
subfolder with the hdf5*.pc files used by the bin/build scripts created by
|
2018-07-31 22:41:11 +08:00
|
|
|
the CMake build. CMake separates the C interface code from the fortran code by
|
|
|
|
creating C-stub libraries for each Fortran library. In addition, only CMake
|
2018-07-31 22:56:12 +08:00
|
|
|
installs the tools library. The names of the szip libraries are different
|
|
|
|
between the build systems.
|
2018-07-31 04:09:50 +08:00
|
|
|
|
|
|
|
The share folder will have the most differences because CMake builds include
|
2018-07-31 22:28:17 +08:00
|
|
|
a number of CMake specific files for support of CMake's find_package and support
|
2018-07-31 04:09:50 +08:00
|
|
|
for the HDF5 Examples CMake project.
|
|
|
|
|