fortran77+MPI编译异常
发布时间:2011-06-30 07:27:22 文章来源:www.iduyao.cn 采编人员:星星草
fortran77+MPI编译错误
FFLAGS = -O2 -w -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib
CFLAGS = -O2 -w
CODE = p2d3t.e
XDIR = run
SG21:$(SRC) $(SG21SRC)
mpif77 $(FFLAGS) -o $(CODE) $(SRC) $(SG21SRC)
cp $(CODE) $(XDIR)/run1
别人的f77+mpi程序,在我的虚拟机ubuntu系统下编译出错,上面是部分makefile代码,我将FFLAGS路径修改后还是有问题,具体问题如下:
l****@ubuntu:~/Downloads/soft3$ make
f77 -O2 -w -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib -c -o e2d3ts.o e2d3ts.f
e2d3ts:
Error on line 138: Declaration error for t0: adjustable dimension on non-argument
Error on line 138: wr_ardecls: nonconstant array size
Error on line 138: wr_ardecls: nonconstant array size
/usr/bin/f77: aborting compilation
make: *** [e2d3ts.o] Error 25
我自己感觉应该是可调数组维数的问题,提示错误的源程序如下:
c
subroutine e2d3ts(nconv,redf,linear_niter,
1 iter_method_sles,npreconditioner)
implicit real*8 (a-h,o-z)
include "mpi2d3t.i"
include "snesf.h"
c
dimension t0(n,0:imcell+1,0:jmcell+1)
dimension linear_niter(1)
但是不知道怎么修改,我查看相关介绍,f77是支持可调数组维数的啊,望高人指点,多谢。我刚刚接触fortran希望能回答的详细些。
------解决方案--------------------
还有一种可能,是不是你使用的编译器和这个mpi程序版本的兼容性有问题?
混合编译时,不同语言版本之间往往不是完全支持的。
------解决方案--------------------
我觉得可能这里用些问题。
“FFLAGS = -O2 -w -I/usr/lib/openmpi/include -I/usr/lib/openmpi/lib ”
链接lib需要用“-L”而不是“-I”,同时还需要指明链接哪个lib。上面需要改为
“FFLAGS = -O2 -w -I/usr/lib/openmpi/include -L/usr/lib/openmpi/lib lib???”
lib??? 是您需要指明的链接函数。
现在fortran已经发展到f2003了。更新的08标准也在酝酿了。老的f77,很多语法已经过时。您可以用新的gfortran来编译。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
erlang:创建表
mnesia:create_table(student, [{attributes,{name,number,sex}}]).
怎么老是提示:
{aborted,{bad_type,student,{...
-
100分求助,matlab一维矩阵变成二维矩阵,怎么感觉我写的代码这么绕呢
希望把Input矩阵(一维)变成3行4列的二维矩阵Output;我写了下面...
-
为什么没有易语言版块呢?
为什么没有易语言版块呢?
------解决方案--------------------
易语言,还不常用,交流也不比,所以无....
-
批处理的一个问题
想用批处理更改文件属性
@echo off
arrtib -R /S E:\home\*.*
exit
这样写是错误的吗?
为什么没起作用啊
--...
-
几个关于大型机的问题(新手求救啊~)
1、z/OS 和UNIX系统的相同点和相异点有哪些啊?主目录和用户目录的区别是什么啊?
2、用JCL创建一...
-
急求!如何用正则截取一对标签中的字符当中的日期
<p class="source">
<!--[if !IE]>收藏功能<!...
-
批处理代码放在U盘里,如何复制整个硬盘的时间段文件? qivsran老师的答案,谢谢!
@echo off
md 新文件
setlocal enabledelayedexpa...
-
复制文件不带目录文件夹如何修改代码?同名文件仅复制最新的
@echo off
md %computername%资料 2>nul
Cd /d %computername%资料
F...
-
求C里面 全角半角转换函数
求C里面 全角半角转换函数
------解决方案--------------------
我在别处看了,希望对你有帮助。
...
-
求助:关于qtp10 无法识别 maven自动构建flex3.6 的问题
近日遇到maven自动构建flex3.6的问题。希望大家提出宝贵意见。
问...