我正在尝试从源代码构建h5py并支持并行HDF5。我从源代码创建了MPICH 3.2以及HDF5 1.8.16。在HDF5的情况下,我按照H5PY站点上的说明使用了--enable-parallel和--enable-shared标志。然后我尝试使用网站上的说明建立针对并行HDF5的h5py:
$ export CC=mpicc
$ python setup.py configure --mpi --hdf5=/home/myname/phdf5/1.8.16-gnu/
$ python setup.py build
$ python setup.py install
不幸的是,在此之后我无法导入h5py,因为它失败并出现错误“未定义的符号:H5Pget_dxpl_mpio”,如下面的完整描述所述:
In [1]: import h5py
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-e81388eeaef8> in <module>()
----> 1 import h5py
/home/wboyd/anaconda2/lib/python2.7/site-packages/h5py/__init__.py in <module>()
32 _errors.silence_errors()
33
---> 34 from ._conv import register_converters as _register_converters
35 _register_converters()
36
h5py/h5r.pxd in init h5py._conv (/home/wboyd/Documents/NSE-CRPG-Codes/h5py-2.6.0/h5py/_conv.c:7722)()
h5py/_objects.pxd in init h5py.h5r (/home/wboyd/Documents/NSE-CRPG-Codes/h5py-2.6.0/h5py/h5r.c:3307)()
h5py/_objects.pyx in init h5py._objects (/home/wboyd/Documents/NSE-CRPG-Codes/h5py-2.6.0/h5py/_objects.c:7682)()
ImportError: /home/wboyd/anaconda2/lib/python2.7/site-packages/h5py/defs.so: undefined symbol: H5Pget_dxpl_mpio
在网上搜索后,我在GitHub网站上发现了这个和这个问题,但对我来说都没有用。还有其他人遇到过这个问题吗?有没有人知道Anaconda是否(或何时)发布兼容并行HDF5和mpi4py的h5py版本?