Built-in SZIP Filter Was Failed Applying Through H5Pset_szip() But GZIP And NBIT Are Working

Initial Issue Posted on Github: Built-in SZIP Filter Was Failed Applying Through H5Pset_szip() But GZIP And NBIT Are Working · Issue #4718 · HDFGroup/hdf5 · GitHub
Describe the bug
I tried to use Szip filter on my datasets by calling ret = H5Pset_szip(COMPRESS_INFO.dcpl_id, H5_SZIP_EC_OPTION_MASK, 8);. It failed to retrieve the filter info. The same calling procedures on Gzip and N_bit filters were successful and the documentation stated that they are all built-in filter which does not require external libraries. But I don’t know why only Szip failed.

1   HDF5-DIAG: Error detected in HDF5 (1.14.1-2) MPI-process 0:
  1   #000: /hdf5/src/H5Pdcpl.c line 2911 in H5Pset_szip(): can't get filter info
  2     major: Invalid arguments to routine
  3     minor: Bad value
  4   #001: /hdf5/src/H5Z.c line 1692 in H5Z_get_filter_info(): Filter not defined
  5     major: Data filters
  6     minor: Bad value
  7   #002: /hdf5/src/H5Z.c line 1254 in H5Z_find(): required filter 4 is not registered
  8     major: Data filters
  9     minor: Object not found

Also does Szip works on H5Dread?

Expected behavior
Expect Szip would work same as Gzip and N_Bit because they are all built in filters unlike external filters which needs extra libraries.

Platform (please complete the following information)

  • HDF5 version hdf5-1_14_1-2
  • OS and version Red Hat Enterprise Linux 3.10.0-1160.119.1.el7.x86_64
  • Compiler and version cc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
  • Build system (e.g. CMake, Autotools) and version CMake version 3.28.3
  • Any configure options you specified
  • MPI library and version (parallel HDF5) mpicc Version 19.0.5.281

08/19/24 Reply to Allen Byrne:
The options you suggested in the previous comments raised errors. Was my usage wrong?

$ ./configure --with-szlib=/plugins/libaec-1 --VV --log-level=VERBOSE
configure: error: unrecognized option: `--VV'
Try `./configure --help' for more information
$ ./configure --log-level=VERBOSE
configure: error: unrecognized option: `--log-level=VERBOSE'
Try `./configure --help' for more information

configure is the autotools comand.

“Can you post the error or warning from the config concerning szip?” Are you asking me to present the ./configure output? I did not quite understand what you want.

First, which build system do you want to use? CMake or autotools.

I am using CMake throughout the process.

That’s what I thought but configure is an autotools command; cmake configuration is
cmake -G <generator> -D<options> -D<build_type> <sorcedri>
or using presets
cmake --preset ,presetname>-<compiler-type>