虽然我在 Ubuntu 16.04 LTS 版本上使用 HDF5 库时没有任何问题,但是在我将 Ubuntu 升级到 Ubuntu 18.04 LTS 后,我在使用 Intel Fortran 和 C 编译器安装 HDF5 时遇到了麻烦。
我使用 gcc 和 gfortran 成功安装了 HDF5。
但是,我需要安装带有英特尔 Fortran 和 C 编译器的 HDF5,才能进一步使用仅与英特尔编译器兼容的科学计算代码。
我安装了szip-2.1.1
并zlib-1.2.11
使用$HOME/LIB
- ifort 版本 18.0.2
- icc 版本 18.0.2(gcc 版本 7.0.0 兼容)
- icpc 版本 18.0.2(gcc 版本 7.0.0 兼容)(parallel_studio_xe_2018_update2_cluster_edition、compilers_and_libraries_2018.2.199)
在 bash 配置文件中使用这些标志
export CC=icc
export CXX=icpc
export FC=ifort
export F9X=ifort
export CFLAGS='-O3 -xHost -ip'
export CXXFLAGS='-O3 -xHost -ip'
export FCFLAGS='-O3 -xHost -ip'
并尝试安装
hdf5-1.10.2
使用以下配置
./configure --prefix=$HOME/LIB --with-zlib=$HOME/LIB --with-szip=$HOME/LIB LD_LIBRARY_PATH=-L/home/scyook/LIB/lib CPPFLAGS=-I/home/scyook/LIB/include --enable-fortran --enable-cxx --enable-fortran2003
但是出现下一个错误消息。
checking size of size_t... configure: error: in `/home/scyook/LIB/hdf5-1.10.2`:
configure: error: cannot compute sizeof (size_t)
这是 config.log 的最后部分
. #define SIZEOF_INT32_T 0
. #define SIZEOF_UINT32_T 0
. #define SIZEOF_INT_LEAST32_T 0
. #define SIZEOF_UINT_LEAST32_T 0
. #define SIZEOF_INT_FAST32_T 0
. #define SIZEOF_UINT_FAST32_T 0
. #define SIZEOF_INT64_T 0
. #define SIZEOF_UINT64_T 0
. #define SIZEOF_INT_LEAST64_T 0
. #define SIZEOF_UINT_LEAST64_T 0
. #define SIZEOF_INT_FAST64_T 0
. #define SIZEOF_UINT_FAST64_T 0
configure: exit 77
我能获得解决此问题的帮助吗?