blob: 2692acde7517fe2c3a45ffa478de2f1b439f0b09 [file] [log] [blame]
Andrew Geissler87f5cff2022-09-30 13:13:31 -05001From 5b0b1d0b941ba338d449f9261bdf4cb2b679d048 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Tue, 20 Sep 2022 02:53:11 -0700
4Subject: [PATCH] fix wrong file driver version
5
6Due to commit [1] applied in hdf5 (1.13.2), import hdf5 failed
7
8|>>> import h5py
9|Traceback (most recent call last):
10| File "<stdin>", line 1, in <module>
11| File "/usr/lib/python3.10/site-packages/h5py/__init__.py", line 56, in <module>
12| from . import h5a, h5d, h5ds, h5f, h5fd, h5g, h5r, h5s, h5t, h5p, h5z, h5pl
13| File "h5py/h5fd.pyx", line 220, in init h5py.h5fd
14|RuntimeError: Wrong file driver version # (wrong file driver version #)
15
16Initial driver version to fix the error
17
18[1] https://github.com/HDFGroup/hdf5/commit/42b767fc67ad1e13735e3cee2077f2e108f9463e
19
20Upstream-Status: Submitted [https://github.com/h5py/h5py/pull/2153]
21Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
22---
23 h5py/api_types_hdf5.pxd | 1 +
24 h5py/h5fd.pyx | 1 +
25 2 files changed, 2 insertions(+)
26
27diff --git a/h5py/api_types_hdf5.pxd b/h5py/api_types_hdf5.pxd
28index 6977f1a7..312fdaa0 100644
29--- a/h5py/api_types_hdf5.pxd
30+++ b/h5py/api_types_hdf5.pxd
31@@ -237,6 +237,7 @@ cdef extern from "hdf5.h":
32
33 # Class information for each file driver
34 ctypedef struct H5FD_class_t:
35+ unsigned version;
36 const char *name
37 haddr_t maxaddr
38 H5F_close_degree_t fc_degree
39diff --git a/h5py/h5fd.pyx b/h5py/h5fd.pyx
40index 04aff077..d41953d0 100644
41--- a/h5py/h5fd.pyx
42+++ b/h5py/h5fd.pyx
43@@ -191,6 +191,7 @@ cdef herr_t H5FD_fileobj_flush(H5FD_fileobj_t *f, hid_t dxpl, hbool_t closing) e
44 cdef H5FD_class_t info
45 memset(&info, 0, sizeof(info))
46
47+info.version = 0x01
48 info.name = 'fileobj'
49 info.maxaddr = libc.stdint.SIZE_MAX - 1
50 info.fc_degree = H5F_CLOSE_WEAK
51--
522.37.1
53