PyTables: HDF5 1.10 breaks pytables 3.2.2
On Arch Linux HDF5 was just upgraded to 1.10. This seems to break array creation. E.g.
>>> f2 = tables.open_file('test.hdf5', 'w')
>>> f2.create_array('/', 'test', obj=np.random.randn(100))
Gives the following error,
---------------------------------------------------------------------------
HDF5ExtError Traceback (most recent call last)
<ipython-input-4-509467cf97dc> in <module>()
----> 1 f2.create_array('/', 'test', obj=np.random.randn(100))
/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/file.py in create_array(self, where, name, obj, title, byteorder, createparents, atom, shape)
1150 parentnode = self._get_or_create_path(where, createparents)
1151 return Array(parentnode, name,
-> 1152 obj=obj, title=title, byteorder=byteorder)
1153
1154 createArray = previous_api(create_array)
/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/array.py in __init__(self, parentnode, name, obj, title, byteorder, _log, _atom)
185 # Ordinary arrays have no filters: leaf is created with default ones.
186 super(Array, self).__init__(parentnode, name, new, Filters(),
--> 187 byteorder, _log)
188
189 def _g_create(self):
/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/leaf.py in __init__(self, parentnode, name, new, filters, byteorder, _log)
260 # is a lazy property that automatically handles their loading.
261
--> 262 super(Leaf, self).__init__(parentnode, name, _log)
263
264 def __len__(self):
/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/node.py in __init__(self, parentnode, name, _log)
265 # Create or open the node and get its object ID.
266 if new:
--> 267 self._v_objectid = self._g_create()
268 else:
269 self._v_objectid = self._g_open()
/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/array.py in _g_create(self)
217 # on
218 (self._v_objectid, self.shape, self.atom) = self._create_array(
--> 219 nparr, self._v_new_title, self.atom)
220 except: # XXX
221 # Problems creating the Array on disk. Close node and re-raise.
tables/hdf5extension.pyx in tables.hdf5extension.Array._create_array (tables/hdf5extension.c:14170)()
HDF5ExtError: Problems creating the Array.
Downgrading HDF5 from 1.10 -> 1.8 fixes the issue. Sorry if this is already known!
Thanks!
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 19 (7 by maintainers)
Commits related to this issue
- Reject HDF5 v1.10 in setup.py HDF5 v1.10 is unsupported even with v1.8 API: issue gh-545 setup.py will fail if HDF5 >=1.10 — committed to tomkooij/PyTables by tomkooij 8 years ago
- Revert to HDF5 1.8.17 rather than 1.10 to avoid incompatibility with pytables. See https://github.com/PyTables/PyTables/issues/545 — committed to SouthPoleTelescope/clustertools by nwhitehorn 8 years ago
@tomkooij Yes, the error is now gone. I was able to run the tests from build/lib.linux-XXX directory.