Module gfortran无法读取自己的创建

Module gfortran无法读取自己的创建,module,fortran,mpi,fortran90,gfortran,Module,Fortran,Mpi,Fortran90,Gfortran,我正在尝试用gfortran编译代码。编译过程中首先发生的事情之一是创建常量.mod。不久之后,gfortran告诉我: Fatal Error: Cannot read module file ‘constants.mod’ opened at (1), because it was created by a different version of GNU Fortran 现在是这样的:这个模块文件是由它试图读取它的gfortran创建的gfortran创建了这个东西本身,然后1秒后认为该

我正在尝试用
gfortran
编译代码。编译过程中首先发生的事情之一是创建
常量.mod
。不久之后,
gfortran
告诉我:

Fatal Error: Cannot read module file ‘constants.mod’ opened at (1), because it was created by a different version of GNU Fortran
现在是这样的:这个模块文件是由它试图读取它的
gfortran
创建的
gfortran
创建了这个东西本身,然后1秒后认为该文件是由其他版本创建的!知道这是怎么回事吗

您可能希望看到compile命令:

mpif90 -c -O3 -ISDF/FORTRAN/include -I/usr/include -Iobj -Jobj -o obj/shared_data.o   src/core/shared_data.F90
shared_data.F90
包含文件顶部的模块
常量

编辑:下面是compile命令,后面是完整的错误消息:

$> mpif90 -c -O3 -ISDF/FORTRAN/include -I/usr/include -Iobj -Jobj -o obj/shared_data.o  src/core/shared_data.F90
src/core/shared_data.F90:67:6:

   USE constants
      1
Fatal Error: Cannot read module file ‘constants.mod’ opened at (1), because it was created by a different version of GNU Fortran
compilation terminated.
更新:我希望你会同意这很奇怪。失败的文件位于
src/core
中。如果我
cd
src/core
并发出此命令:

mpif90 -c -O3 -I../../SDF/FORTRAN/include -I../../obj -J../../obj -o ../../obj/shared_data.o shared_data.F90
它编译得很好!但随后我将所有内容从
obj
目录中清除,然后我将
cd
分为两级发布:

mpif90 -c -O3 -ISDF/FORTRAN/include -Iobj -Jobj -o shared_data.o src/core/shared_data.F90

它失败了,我上面显示的错误!有什么区别???谢谢。

错误发生在哪里?哪里是
(1)
?在其中一个include目录中是否有其他constants.mod?@Raul Laasner感谢您的评论。请参阅我对问题的编辑。您是否可能在某个地方使用了
gfortran
而不是
mpif90
?它们实际上可能不同。@bob.sacamento关于您的更新,是否有可能在父目录(但不在子目录)中有一个constants.mod,它是使用较旧版本的gfortran构建的?可以肯定的是,在尝试重新编译之前,您是否清理了构建目录?您可以提供一个,以及编译器和SO版本,以便我们可以尝试重现该错误。