Package: hdf5-filter-plugin
Version: 0.0~git20221111.49e3b65-2
Severity: serious
Tags: patch

Hello,

hdf5 cannot load the plugin dynamically:

   >>> import h5py
   >>> h5py.h5z.filter_avail(32004)
   False

This is because the library cannot be loaded due to missing HDF5 symbols:

   $ python3
   Python 3.10.8 (main, Nov  4 2022, 09:21:25) [GCC 12.2.0] on linux
   Type "help", "copyright", "credits" or "license" for more information.
   >>> import ctypes
   >>> lib = 
ctypes.CDLL("/usr/lib/x86_64-linux-gnu/hdf5/serial/plugins/libh5lz4.so")
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File "/usr/lib/python3.10/ctypes/__init__.py", line 374, in __init__
       self._handle = _dlopen(self._name, mode)
   OSError: /usr/lib/x86_64-linux-gnu/hdf5/serial/plugins/libh5lz4.so: 
undefined symbol: H5E_PLINE_g

I filed a PR upstream that fixes the problem:
https://github.com/nexusformat/HDF5-External-Filter-Plugins/pull/27

I'm attaching the corresponding patch.


Thanks,

Enrico


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.0.0-4-amd64 (SMP w/4 CPU threads; PREEMPT)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_IE:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages hdf5-filter-plugin depends on:
ii  libbz2-1.0     1.0.8-5+b1
ii  libc6          2.36-6
ii  libhdf5-103-1  1.10.8+repack-4
ii  liblz4-1       1.9.4-1

hdf5-filter-plugin recommends no packages.

hdf5-filter-plugin suggests no packages.
commit 3d93e1821dd10962f4477d8b3615024cf10f4cc6
Author: Enrico Zini <enr...@enricozini.org>
Date:   Wed Dec 7 12:19:17 2022 +0100

    Added missing libraries

diff --git a/LZ4/src/CMakeLists.txt b/LZ4/src/CMakeLists.txt
index b5bf34b..1823eff 100644
--- a/LZ4/src/CMakeLists.txt
+++ b/LZ4/src/CMakeLists.txt
@@ -1,7 +1,7 @@
 set(SOURCES H5Zlz4.c lz4_h5plugin.c)
 
 set(INCLUDE_DIRS ${HDF5_INCLUDE_DIRS} ${LZ4_INCLUDE_DIRS})
-set(LINK_LIBS ${LZ4_LIBRARIES})
+set(LINK_LIBS ${LZ4_LIBRARIES} ${HDF5_LIBRARIES})
 
 if(CMAKE_SYSTEM_NAME MATCHES Windows)
     #

Reply via email to