Hi,
I am trying to use the new dynamically loaded filter plugin feature in
1.8.11-pre2 by adding the filter information to an existing library:
U H5Oexists_by_name
U H5Oget_info_by_name
U H5Oopen
000000000003ec86 T H5PLget_plugin_info
000000000003ec80 T H5PLget_plugin_type
U H5P_CLS_DATASET_CREATE_g
U H5P_CLS_FILE_ACCESS_g
U H5Pclose
[partial output from using 'nm' on my shared object which should be used as a
filter]
I have found that I need to manually register the plugin with 'H5Zregister' in
order to use it to write data. This appears to work - producing files of the
expected size in a believable amount of time - but won't allow the files to be
read with any program that that doesn't explicitly load the filter, such as
'h5dump'. I have not written any code to read the file through this filter, so
have not verified that any data is actually being written. Without manually
registering the filter I get the following errors when trying to set a custom
filter using 'H5Pset_filter':
HDF5-DIAG: Error detected in HDF5 (1.8.11-pre2) thread 0:
#000: H5Pocpl.c line 753 in H5Pset_filter(): failed to call private function
major: Property lists
minor: Can't set value
#001: H5Pocpl.c line 814 in H5P__set_filter(): failed to load dynamically
loaded plugin
major: Data filters
minor: Unable to load metadata into cache
[errors trying to dynamically load a filter plugin before writing data to a
file]
After reading through 'HDF5DynamicallyLoadedFilters.pdf' I have attempted to
set the environment variable 'HDF5_PLUGIN_PATH' to the appropriate value for my
plugin library (the directory containing the shared object), but this only
changes the error messages in the output of h5dump:
HDF5-DIAG: Error detected in HDF5 (1.8.11) thread 0:
#000: H5Dio.c line 182 in H5Dread(): can't read data
major: Dataset
minor: Read failed
#001: H5Dio.c line 550 in H5D__read(): can't read data
major: Dataset
minor: Read failed
#002: H5Dchunk.c line 1837 in H5D__chunk_read(): unable to read raw data chunk
major: Low-level I/O
minor: Read failed
#003: H5Dchunk.c line 2868 in H5D__chunk_lock(): data pipeline read failed
major: Data filters
minor: Filter operation failed
#004: H5Z.c line 1150 in H5Z_pipeline(): required filter 'HDF5 CBF
compression filters' is not registered
major: Data filters
minor: Read failed
h5dump error: unable to print data
[errors from 'h5dump' with or without the environment variable]
I have not been able to attempt to put the plugin library in
'/usr/local/hdf5/lib/plugin' due to insufficient permissions.
I also get the following errors from the plugin test, when executed as
'./plugin' from within the 'test' directory:
Testing DYNLIB1 filter
*FAILED*
HDF5-DIAG: Error detected in HDF5 (1.8.11) thread 0:
#000: H5Pocpl.c line 753 in H5Pset_filter(): failed to call private function
major: Property lists
minor: Can't set value
#001: H5Pocpl.c line 814 in H5P__set_filter(): failed to load dynamically
loaded plugin
major: Data filters
minor: Unable to load metadata into cache
Testing Testing DYNLIB3 filter for group *FAILED*
HDF5-DIAG: Error detected in HDF5 (1.8.11) thread 0:
#000: H5Pocpl.c line 753 in H5Pset_filter(): failed to call private function
major: Property lists
minor: Can't set value
#001: H5Pocpl.c line 814 in H5P__set_filter(): failed to load dynamically
loaded plugin
major: Data filters
minor: Unable to load metadata into cache
#002: H5PL.c line 293 in H5PL_load(): search in paths failed
major: Plugin for dynamically loaded library
minor: Can't get value
#003: H5PL.c line 440 in H5PL__find(): can't close directory: Bad file
descriptor
major: File accessibilty
minor: Close failed
[errors from first failing plugin test]
These errors are the first to occur, and happen with both sets of file format
tests ('new' and 'old'). There are some further errors which appear to be due
to issues closing files.
I would like to know if this is a minor configuration error on my part (and if
so, how to fix it), or a legitimate bug in the library.
I am using Red Hat Enterprise Linux 5.9, with v 2.6.18-348.4.1.el5 of the linux
kernel.
Thanks.
--
This e-mail and any attachments may contain confidential, copyright and or
privileged material, and are for the use of the intended addressee only. If you
are not the intended addressee or an authorised recipient of the addressee
please notify us of receipt by returning the e-mail and do not use, copy,
retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not
necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments
are free from viruses and we cannot accept liability for any damage which you
may sustain as a result of software viruses which may be transmitted in or with
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and
Wales with its registered office at Diamond House, Harwell Science and
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org