首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用HDF5,因为它是由不同版本的GNU Fortran创建的。

无法使用HDF5,因为它是由不同版本的GNU Fortran创建的。
EN

Stack Overflow用户
提问于 2021-01-26 19:46:07
回答 1查看 1.3K关注 0票数 1

我对HDF5和Fortran 90都很陌生。我正在尝试编译一个没有HDF5就能正常运行的程序。我在网上发现,我需要使用命令h5fc -show中的标志,输出如下

x86_64-conda_cos6-linux-gnu-gfortran -i/home/tmph/anaconda3 3/lib/tmph/anaconda3 3/lib/tmph/anaconda3 3/libhdf5hl_fortran.a/home/tmph/anaconda3 3/lib/libhdf5_hl.a/home/tmph/anaconda3 3/lib/libhdf5 5_fortran.a/home/tmph/anaconda3 3/ -O2 - -Wl - -Wl -一般类型,-Wl - -Wl - -z,-z。-z,现在为-Wl,-禁用新dtags -Wl,-rpath,/home/tmph/anaconda3 3/lib-L/home/tmph/anaconda3 3/lib -lrt -lpthread -lz -ldl -lm -Wl,-rpath -Wl,/home/tmph/anaconda3 3/lib

(我日常工作的大部分实际上都是用Python,因此是anaconda3)

我试着用

代码语言:javascript
运行
复制
[...]
LDLIBS=-lhdf5_fortran -lhdf5 
LDINC=-I/home/tmph/anaconda3/include
LDFLAGS=-L/home/tmph/anaconda3/lib

$(OBJ_DIR)%.o: $(SRC_DIR)%.F90
    $(FC) $(FCFLAGS) $(LDINC) -c $< -J $(SRC_DIR) -o $@

exec: $(SOURCE_OBJECTS) $(MAIN_OBJECT)
    $(LC) $(FCFLAGS) $(LDINC) -o $(exec_name) $^ $(LDFLAGS) $(LDLIBS)

但是我遇到了错误

12 \\使用HDF5 \1致命错误:无法读取模块文件‘/home/tmph/anaconda3 3/include/hdf5.mod’,因为它是由不同版本的GNU编译终止创建的。

当我运行gfortran --version时,我得到了输出

GNU Fortran (GCC) 10.2.0版权(C) 2020自由软件基金会。这是自由软件,请参阅复制条件的来源。没有任何保证,即使是适销性或适合某一特定用途。

但我不知道如何在anaconda中检查hdf5.mod文件的版本。它来自Anaconda这一事实是否有问题?需要我再安装一个吗?如果是这样的话,是怎么做的?我必须以某种方式重新构建这个模块(这会不会把一些python包搞砸)?也许我需要用更多的旗子?(我使用了我认为有意义的文件,类似于我在github,举个例子上找到的makefiles )

我还尝试修改一个示例Makefile,但据我所知,我没有这样的libz.a或libsz.a,最后得到了相同的错误。

我在管理曼吉罗,以防这件事发生。我还试着用pacman -S hdf5安装pacman -S hdf5,但没有改变任何东西。

编辑:当您安装Anaconda时,它会在路径的前面添加acanconda3 3/bin。这包含了一个过时的版本的h5fc,这就是混乱的根源。如果我使用/usr/bin/h5fc的输出,那么编译就不会有任何问题。

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 20:27:55

旗子解决不了这个问题。您需要对程序中的所有模块使用相同版本的gfortran。如果你想保持你的版本哦HFD,你需要得到相同的gfortran版本。

通过读取文件的前一行并读取模块号,您可以找到.mod文件的gfortran版本。然后,您可以继续到这里的表,是否可以确定哪个Fortran编译器生成了一个".mod“文件?

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65908213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档