打开HDF5编译模块报错
Error in opening the compiled module of HDF5
我有一个 Fortran 程序,其中一个文件以行 use HDF5
开头。该程序之前已在特定集群上编译和 运行。现在,我正在尝试在不同的集群中编译程序,该集群已经 hdf5
安装在特定位置。
我假设问题是编译器无法理解 hdf5
安装目录的位置。我也尝试通过使用 LD_LIBRARY_PATH
导出来指定 hdf5
位置。仍然不起作用。谁能帮我弄清楚我做错了什么?
编译器标志还包括 -lhdf5_fortran
和 -lhdf5
。
更新:编译错误列表很长。但是,它的开头看起来像这样:
lbe_io_hdf5.F90(7): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [HDF5]
use HDF5
------^
lbe_io_hdf5.F90(82): error #6683: A kind type parameter must be a compile-time constant. [HID_T]
integer(hid_t) :: file_id ! File identifier
看来我一直在尝试将 hdf5
header 定位在错误的位置。使用 locate hdf5.h
给了我 header 文件的位置,使用 -I
包含目录解决了这个问题。
HDF5 带有 Fortran 的编译器包装器 h5fc
。对于单个程序文件:
h5fc -o my_program my_program.f90
对于单独的编译和链接:
h5fc -c file1.f90
h5fc -c my_program.f90
h5fc -o my_program file1.o my_program.o
如果想直接调用编译器,检查
给出的flags
h5fc -show
如果没有 h5fc
命令,则表示您没有安装支持 Fortran 的 HDF5。
我有一个 Fortran 程序,其中一个文件以行 use HDF5
开头。该程序之前已在特定集群上编译和 运行。现在,我正在尝试在不同的集群中编译程序,该集群已经 hdf5
安装在特定位置。
我假设问题是编译器无法理解 hdf5
安装目录的位置。我也尝试通过使用 LD_LIBRARY_PATH
导出来指定 hdf5
位置。仍然不起作用。谁能帮我弄清楚我做错了什么?
编译器标志还包括 -lhdf5_fortran
和 -lhdf5
。
更新:编译错误列表很长。但是,它的开头看起来像这样:
lbe_io_hdf5.F90(7): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [HDF5]
use HDF5
------^
lbe_io_hdf5.F90(82): error #6683: A kind type parameter must be a compile-time constant. [HID_T]
integer(hid_t) :: file_id ! File identifier
看来我一直在尝试将 hdf5
header 定位在错误的位置。使用 locate hdf5.h
给了我 header 文件的位置,使用 -I
包含目录解决了这个问题。
HDF5 带有 Fortran 的编译器包装器 h5fc
。对于单个程序文件:
h5fc -o my_program my_program.f90
对于单独的编译和链接:
h5fc -c file1.f90
h5fc -c my_program.f90
h5fc -o my_program file1.o my_program.o
如果想直接调用编译器,检查
给出的flagsh5fc -show
如果没有 h5fc
命令,则表示您没有安装支持 Fortran 的 HDF5。