安装HDF5

  • HDF5系列组件源码包中若“configure”文件指定GNU使用O3优化,则需在执行1之前添加以下优化选项,详见4
    export optflags="-O3"
    export ldflags="-Wl,--build-id"
    export threads=$(nproc)
  • 若“configure”文件指定非GNU不使用优化,则无需添加优化选项。

操作步骤

  1. 使用PuTTY工具,以root用户登录服务器。
  2. 执行以下命令解压HDF5安装包。

    tar -zxvf hdf5-1.10.5.tar.gz

  3. 执行以下命令进入解压后的目录。

    cd hdf5-1.10.5

  4. 执行以下命令进行编译配置。

    CC=mpicc CFLAGS="$optflags -fPIC -Wno-incompatible-pointer-types-discards-qualifiers -Wno-non-literal-null-conversion" FC=mpif90 FCFLAGS="$optflags -fPIC" FFLAGS="$optflags -fPIC" LDFLAGS="$ldflags" CXX=mpicxx ./configure --prefix=/path/to/HDF5 --enable-shared --enable-static --enable-fortran --enable-parallel --enable-optimization=high

  5. 执行以下命令合入patch包。

    patch -p1 < libtool.patch

  6. 新建并编辑“libtool.patch”文件。

    1. 新建“libtool.patch”文件。
      vi libtool.patch
    2. 按“i”进入编辑模式,添加如下内容。
      diff -ruN hdf5-1.10.1/libtool hdf5-1.10.1-new/libtool
      --- hdf5-1.10.1/libtool 2019-12-02 20:02:56.270676503 +0000
      +++ hdf5-1.10.1-new/libtool 2019-12-02 20:03:05.062708034 +0000
      @@ -11832,7 +11832,7 @@
       pic_flag=""
       # How to pass a linker flag through the compiler.
      -wl=""
      +wl="-Wl,"
       # Compiler flag to prevent dynamic linking.
         link_static_flag=""
    3. 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  7. 执行以下命令进行编译安装。

    make -j$threads

    make install

  8. 执行以下命令验证是否安装成功。

    ls /path/to/HDF5/lib
    ls /path/to/HDF5/bin

    回显显示如下信息,则表示安装成功。

  9. 执行以下命令加载环境变量。

    export PATH=/path/to/HDF5/bin:$PATH
    export LD_LIBRARY_PATH=/path/to/HDF5/lib:$LD_LIBRARY_PATH