I see. I'll try to check HDFView next. I know it worked for me on my Mac last 
time I tried it.

Elena

Sent from my iPhone

On Nov 23, 2015, at 5:02 PM, Ümit Seren 
<[email protected]<mailto:[email protected]>> wrote:

Hi Elena,

Thanks for the response,
my problem is not that h5dump or other hdf5 command line utilities do not work 
the lzf plugin filter (they work just fine) but the Java HDF5 and HDFView can't 
find the plugin_filter.
I will check the symbols tomorrow but as far as I can tell the problem is 
somewhere with the java hdf5 library.







On Mon, Nov 23, 2015 at 11:41 PM, Elena Pourmal 
<[email protected]<mailto:[email protected]>> wrote:
Hello,

What kind of error are you getting? I was able to get the filter to work on 
Linux (CentOS 7) with h5dump from 1.8.16 distribution I built. Please notice 
that one has to specify HDF5 include files when building liblzf_filter.so.

Details:

Here is the output of the nm command and h5dump when include files are not 
specified:

[epourmal@platypus lzf]$ gcc  -O2 -fPIC -shared lzf/*.c lzf_filter.c -o 
liblzf_filter.so
epourmal@platypus lzf]$ nm liblzf_filter.so
                 U H5E_CALLBACK_g
                 U H5E_CANTREGISTER_g
                 U H5E_PLINE_g
                 U H5Epush1
                 U H5Pget_chunk
                 U H5Pget_filter_by_id2
                 U H5Pmodify_filter
                 U H5Tget_size
                 U H5Zregister
                 U H5open
[epourmal@platypus lzf]$ hdf5/hdf5/bin/h5dump test_lzf.hdf5
HDF5 "test_lzf.hdf5" {
GROUP "/" {
   DATASET "dset" {
      DATATYPE  H5T_IEEE_F32LE
      DATASPACE  SIMPLE { ( 100, 100, 100 ) / ( 100, 100, 100 ) }
      DATA {h5dump error: unable to print data

      }
   }
}
}
[epourmal@platypus lzf]$ hdf5/hdf5/bin/h5dump -pH test_lzf.hdf5
HDF5 "test_lzf.hdf5" {
GROUP "/" {
   DATASET "dset" {
      DATATYPE  H5T_IEEE_F32LE
      DATASPACE  SIMPLE { ( 100, 100, 100 ) / ( 100, 100, 100 ) }
      STORAGE_LAYOUT {
         CHUNKED ( 1, 100, 100 )
         SIZE 174288 (22.951:1 COMPRESSION)
      }
      FILTERS {
         PREPROCESSING SHUFFLE
         USER_DEFINED_FILTER {
            FILTER_ID 32000
            COMMENT lzf
            PARAMS { 4 261 40000 }
         }
 ...

Now if I specify HDF5 include files, I will get (notice two symbols 
H5PLget_plugin_info/type in the nm output!)

[epourmal@platypus lzf]$ gcc -I//scr/epourmal/h5py-master/lzf/hdf5/hdf5/include 
-O2 -fPIC -shared lzf/*.c lzf_filter.c -o liblzf_filter.so
[epourmal@platypus lzf]$ nm liblzf_filter.so
                 U H5E_CALLBACK_g
                 U H5E_CANTREGISTER_g
                 U H5E_PLINE_g
                 U H5Epush1
0000000000001080 T H5PLget_plugin_info
0000000000001070 T H5PLget_plugin_type
                 U H5Pget_chunk
                 U H5Pget_filter_by_id2
                 U H5Pmodify_filter
                 U H5Tget_size
                 U H5Zregister
                 U H5open

And here we are:

[epourmal@platypus lzf]$ hdf5/hdf5/bin/h5dump test_lzf.hdf5 |more
HDF5 "test_lzf.hdf5" {
GROUP "/" {
   DATASET "dset" {
      DATATYPE  H5T_IEEE_F32LE
      DATASPACE  SIMPLE { ( 100, 100, 100 ) / ( 100, 100, 100 ) }
      DATA {
      (0,0,0): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
      (0,0,18): 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
      (0,0,33): 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
      (0,0,48): 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62,
      (0,0,63): 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77,
      (0,0,78): 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92,
      (0,0,93): 93, 94, 95, 96, 97, 98, 99,
…….

Hope it will help!

Elena

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Elena Pourmal  The HDF Group  http://hdfgroup.org
1800 So. Oak St., Suite 203, Champaign IL 61820
217.531.6112
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~




On Nov 23, 2015, at 8:50 AM, Daniel Tetlow 
<[email protected]<mailto:[email protected]>> wrote:

Hi,

I had a similar problem on Windows. I needed to link the LZF plugin against the 
hdf5 library (as expected) to get it to compile, and it worked fine with C++, 
but it wouldn’t work with the Java H5 libraries. Attempting to link it against 
the jhdf5 2.11 library instead failed. I couldn’t figure out what I was doing 
wrong, so in the end I rebuilt jhdf5 with the plugin sources built in.

Cheers,

Dan


From: Hdf-forum [mailto:[email protected]] On Behalf Of Ümit 
Seren
Sent: 23 November 2015 14:10
To: [email protected]<mailto:[email protected]>
Subject: [Hdf-forum] Problem with a filter as shared library in Java-HDF5 and 
HDF5View

I have been trying to compile the lzf compressor as a shared library (not 
linked against hdf5) to be used as a filter plugin for HDF5.

Basically I was following this: https://github.com/h5py/h5py/tree/master/lzf

I compiled lzf as a shared library using this compile command:


gcc -O2 -fPIC -shared lzf/*.c lzf_filter.c -o liblzf_filter.so



This will create a lzf filter plugin that I copied into the 
/usr/local/hdf5/lib/plugin folder.

The normal command line tools (h5ls, h5dump) work fine with lzf compressed 
dataset, so the plugin seems to work.



However when I try to read the same lzf compressed dataset using Java HDF5 or 
HDFView (2.11), I get the error that the lzf filter plugin can not be found.



The only workaround is to link it against the hdf5 library:



gcc -O2 -fPIC -shared lzf/*.c lzf_filter.c -lhdf5 -o liblzf_filter.so



Is this a known issue ?

This was on Ubuntu 14.04 and HDF5 1.8.15patch1

thanks in advance

cheers
Ümit

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]<mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5


_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]<mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]<mailto:[email protected]>
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to