Hi,

I am using HDF5 with blosc dynamic plugin loading regularly under Windows, and this are the files as needed in the plugin directory that HDF5 looks for:

HDF5Plugins $ ll
total 1.2M
-rwxr-xr-x 1 Wrk None 382K Jun 26 23:30 blosc.dll*
-rwxr-xr-x 1 Wrk None 330K Jun 26 23:30 libHDF5blosc.dll*
-rwxr-xr-x 1 Wrk None 410K Jun 26 23:30 liblz4.dll*

The blosc.dll is the blosc library, libHDF5blosc.dll is the HDF5 plugin using that library.

I'm using Mingw64, which is gcc  6.3 under MSYS2 .

          Werner


On 28.06.2017 13:44, Francesc Alted wrote:
Hi,

I have been trying to give support to HDF5 on Windows for dynamically loading the Blosc plugin (https://github.com/Blosc/hdf5-blosc), but no success so far.

I basically have compiled the plugin with:

> cl /I"C:\Program Files (x86)\blosc\include" /I"C:\HDF_Group\HDF5\1.8.12\include" libH5Zblosc.c blosc_filter.c /OUT:libH5Zblosc.dll /LD /link /LIBPATH:"C:\Program Files (x86)\blosc\lib" /LIBPATH:"C:\HDF_Group\HDF5\1.8.12\lib" blosc.lib hdf5.lib

​and then copied the ​libH5Zblosc.dll to "%ALLUSERSPROFILE%/hdf5/lib/plugin", but when I try to use a h5dump for getting the data of an HDF5 with some datasets compressed with Blosc, I am getting:

>h5dump \tmp\carray1-blosc.h5
HDF5 "\tmp\carray1-blosc.h5" {
GROUP "/" {
   DATASET "carray" {
      DATATYPE  H5T_STD_U8LE
      DATASPACE  SIMPLE { ( 200, 300 ) / ( 218, 300 ) }
      DATA {h5dump error: unable to print data

      }
   }
}
}

​When asking for more errors, I am getting a more informative message:

​>h5dump --enable-error-stack \tmp\carray1-blosc.h5
HDF5 "\tmp\carray1-blosc.h5" {
GROUP "/" {
   DATASET "carray" {
      DATATYPE  H5T_STD_U8LE
      DATASPACE  SIMPLE { ( 200, 300 ) / ( 218, 300 ) }
      DATA {HDF5-DIAG: Error detected in HDF5 (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dio.c line 171 in H5Dread(): can't read data
    major: Dataset
    minor: Read failed
#001: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dio.c line 544 in H5D__read(): can't read data
    major: Dataset
    minor: Read failed
#002: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dchunk.c line 2050 in H5D__chunk_read(): unable to read raw data chunk
    major: Low-level I/O
    minor: Read failed
#003: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Dchunk.c line 3405 in H5D__chunk_lock(): data pipeline read failed
    major: Data filters
    minor: Filter operation failed
#004: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5Z.c line 1349 in H5Z_pipeline(): required filter 'blosc' is not registered
    major: Data filters
    minor: Read failed
#005: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5PL.c line 389 in H5PL_load(): search in paths failed
    major: Plugin for dynamically loaded library
    minor: Can't get value
#006: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\src\H5PL.c line 812 in H5PL__find(): can't open directory
    major: Plugin for dynamically loaded library
    minor: Can't open directory or file
h5dump error: unable to print data

      }
   }
}
}
H5tools-DIAG: Error detected in HDF5:tools (1.10.1) thread 0:
#000: C:\autotest\hdf5110-StdRelease-code-10vs14\build\hdfsrc\tools\lib\h5tools_dump.c line 1639 in h5tools_dump_simple_dset(): H5Dread failed
    major: Failure in tools library
    minor: error in function

​I suppose the meaningful part is here:

10vs14\build\hdfsrc\src\H5PL.c line 812 in H5PL__find(): can't open directory

b
​ut I have no clues on 1) what directory the dynamic plugin machinery in HDF5 is looking at and 2) ​which name the DLL should have (as per manual, I am using libH5Zblosc.dll, but I have tried with H5Zblosc.dll and blosc.dll with no success).

I have also tried to use the HDF5_PLUGIN_PATH environment variable, so as to direct the plugin machinery in HDF5 to look into the specific
%ALLUSERSPROFILE%/hdf5/lib/plugin
​ place, ​
but no luck.

​I tried with HDF5 1.8.12 and 1.10.1, with same results​. Finally, if it is of any help, I am using Windows 10 64 bit.

​As a suggestion, it may help to debug situations like this if the HDF5 backtrace of the plugin machinery would provide info about 1) which directory it is looking at for finding the HDF5 plugin and 2) the name of the DLL that it is trying to load.

Thanks in advance,​

--
Francesc Alted


_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

--
___________________________________________________________________________
Dr. Werner Benger                Visualization Research
Center for Computation & Technology at Louisiana State University (CCT/LSU)
2019  Digital Media Center, Baton Rouge, Louisiana 70803
Tel.: +1 225 578 4809                        Fax.: +1 225 578-5362

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5

Reply via email to