Problems with H5Zregister() and HDF5 1.8.0-beta5

Hi,

I'm trying to give support to HDF5 1.8.0 (beta5) to PyTables. The plan
is first try to support 1.8.0 compiled
with --with-default-api-version=v16 option and the proceed to the
migration to the 1.8.0 API. In theory, the migration using the 1.6 API
should be straightforward, but I'm having a problem with filter
registration; this is how HDF5 1.8.0 (beta5) complains:

HDF5-DIAG: Error detected in HDF5 (1.8.0-beta5) thread 0:
  #000: H5Z.c line 237 in H5Zregister(): invalid H5Z_class_t version
number
    major: Invalid arguments to routine
    minor: Bad value

The code that I'm using right now is something like:

#if H5_USE_16_API || (H5_VERS_MAJOR == 1 && H5_VERS_MINOR < 7)
   /* 1.6.x */
  H5Z_class_t filter_class = {
    (H5Z_filter_t)(FILTER_BZIP2), /* filter_id */
    "bzip2", /* comment */
    NULL, /* can_apply_func */
    NULL, /* set_local_func */
    (H5Z_func_t)(bzip2_deflate) /* filter_func */
  };
#else
   /* 1.8.x */
  H5Z_class_t filter_class = {
    H5Z_CLASS_T_VERS, /* H5Z_class_t version */
    (H5Z_filter_t)(FILTER_BZIP2), /* filter_id */
    1, 1, /* Encoding and decoding enabled */
    "bzip2", /* comment */
    NULL, /* can_apply_func */
    NULL, /* set_local_func */
    (H5Z_func_t)(bzip2_deflate) /* filter_func */
};
#endif /* if H5_API_VERSION < "1.8" */

  /* Register the filter class for the bzip2 compressor. */
  H5Zregister(&filter_class);

and I pass the -DH5_USE_16_API to the compiler.

The code above used to work well against 1.6.x series and 1.8.0
(<=beta3), but don't work against 1.8.0-beta5.

The symbols for BZIP2 and LZO compressors that we were traditionally
using for PyTables are:

#define FILTER_BZIP2 307
#define FILTER_LZO 305

Any hint about what's going on wrong?

Thanks,

···

--

0,0< Francesc Altet http://www.carabos.com/

V V Cárabos Coop. V. Enjoy Data
"-"

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

Hi Francesc,

Hi,

I'm trying to give support to HDF5 1.8.0 (beta5) to PyTables. The plan
is first try to support 1.8.0 compiled
with --with-default-api-version=v16 option and the proceed to the
migration to the 1.8.0 API. In theory, the migration using the 1.6 API
should be straightforward, but I'm having a problem with filter
registration; this is how HDF5 1.8.0 (beta5) complains:

HDF5-DIAG: Error detected in HDF5 (1.8.0-beta5) thread 0:
  #000: H5Z.c line 237 in H5Zregister(): invalid H5Z_class_t version
number
    major: Invalid arguments to routine
    minor: Bad value

The code that I'm using right now is something like:

#if H5_USE_16_API || (H5_VERS_MAJOR == 1 && H5_VERS_MINOR < 7)
   /* 1.6.x */
  H5Z_class_t filter_class = {
    (H5Z_filter_t)(FILTER_BZIP2), /* filter_id */
    "bzip2", /* comment */
    NULL, /* can_apply_func */
    NULL, /* set_local_func */
    (H5Z_func_t)(bzip2_deflate) /* filter_func */
  };
#else
   /* 1.8.x */
  H5Z_class_t filter_class = {
    H5Z_CLASS_T_VERS, /* H5Z_class_t version */
    (H5Z_filter_t)(FILTER_BZIP2), /* filter_id */
    1, 1, /* Encoding and decoding enabled */
    "bzip2", /* comment */
    NULL, /* can_apply_func */
    NULL, /* set_local_func */
    (H5Z_func_t)(bzip2_deflate) /* filter_func */
};
#endif /* if H5_API_VERSION < "1.8" */

  /* Register the filter class for the bzip2 compressor. */
  H5Zregister(&filter_class);

and I pass the -DH5_USE_16_API to the compiler.

The code above used to work well against 1.6.x series and 1.8.0
(<=beta3), but don't work against 1.8.0-beta5.

The symbols for BZIP2 and LZO compressors that we were traditionally
using for PyTables are:

#define FILTER_BZIP2 307
#define FILTER_LZO 305

Any hint about what's going on wrong?

  This looks like a bug in the API compatibility support. I'll try to get it fixed shortly.

    Quincey

···

On Dec 19, 2007, at 5:41 AM, Francesc Altet wrote:

Thanks,

--

0,0< Francesc Altet http://www.carabos.com/

V V Cárabos Coop. V. Enjoy Data
"-"

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.

----------------------------------------------------------------------
This mailing list is for HDF software users discussion.
To subscribe to this list, send a message to hdf-forum-subscribe@hdfgroup.org.
To unsubscribe, send a message to hdf-forum-unsubscribe@hdfgroup.org.