从源代码构建HDF5,netCDF-C和netCDF4-python后未解析的符号

时间:2019-05-14 06:47:48

标签: python hdf5 netcdf4

使用netCDF4-python软件包没有任何麻烦之后,我需要启用并行文件访问。由于找不到针对同一MPI库构建的HDF5和netCDF C库的合适现成组合,因此我决定使用OpenMPI从源代码构建每个软件包。但是,由于未解析的符号,导入netCDF4软件包失败:

  

-------------------------------------------------- ---------------------------- ImportError Traceback(最近的呼叫   最后)   ----> 1个导入netCDF4

     

〜/ anaconda3 / lib / python3.6 / site-packages / netCDF4-1.5.1.2-py3.6-linux-x86_64.egg / netCDF4 / init .py   在         netCDF4的1#初始化。包         2#文档字符串来自扩展模块_netCDF4。   ----> 3从._netCDF4导入*         4#需要以下划线开头的名称的显式导入         5从._netCDF4导入 doc pdoc

     

ImportError:/usr/local/lib/libnetcdf.so.15:未定义的符号:   H5Pset_dxpl_mpio

我尝试通过pip install安装netcdf4-python软件包,该软件包的导入可以很好地访问串行文件,但是仍然无法加载parallel = True的文件,表明它需要启用并行的netcdf-c。

我正在使用以下方式安装HDF5

export NCPROCS=4
export CC=mpicc
./configure --prefix=/usr/local/ --enable-parallel --enable-hl
make check
sudo make install

和netCDF-C与

export NCPROCS=4
export CC=mpicc
./configure --prefix=/usr/local/ --enable-parallel-tests
make check
sudo make install

和netCDF4-python与nc-config配合使用

export CC=mpicc
python setup.py install

每个步骤都可以识别并行功能。我是否在某个地方缺少构建过程中的链接步骤,或者libnetcdf.so.15为什么无法从HDF5库中找到符号?

0 个答案:

没有答案