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

Reply via email to