2017-06-28 14:24 GMT+02:00 Werner Benger <wer...@cct.lsu.edu>: > 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*
I'm doing the same, just with a small minor difference: My blosc is built with the lz4 that is bundled in the blosc sources, so it's compiled right into the blosc.dll. So I didn't need to ship liblz4.dll. Elvis > > 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 _______________________________________________ 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