免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 976 | 回复: 0
打印 上一主题 下一主题

[color=red]SOS--unix 中fortran程序移植到linux中遇到问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-01 18:53 |只看该作者 |倒序浏览
小弟最近下载了unix下的一个fortran 软件包,其中脚本文件关于solaris中的编译和连结参数为:
'SunOS')
FC='f90'
FL='f90'
COMMON_FLAGS=' -g'
FC_FLAGS=${COMMON_FLAGS}
FL_FLAGS=${COMMON_FLAGS}' -o'
FC90='f90'
FL90='f90'
FC90_FLAGS=${COMMON_FLAGS}
FL90_FLAGS=${COMMON_FLAGS}' -o'
UTIL_TAG='sun'
INC='M'
NCDFINC='/usr/local/include'
NCDFLIB='/usr/local/lib'
cp ../config/makerules.sunos ../config/rules.make;
下面是makerules.sunos中的内容.
.SUFFIXES:
.SUFFIXES: .f .f90 .o
.f.o:
$(FC) $(FC_FLAGS) -c $<

.f90.o:
$(FC90) $(FC90_FLAGS) $(LIBS) $(INCLUDES) -c $<

由于小弟solaris不是很熟,所以将程序挪到linux下运行. 我只会将f90换为pgf90,其他的没有动,编译和连接时没有提示错误,也能生成可执行文件,但一运行就提示segmentation fault.
用strace 追踪可执行文件运行, strace -f -o log ../bin/main.exe,在log文件的最后几行为:

5613 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000
5613 fstat64(3, {st_mode=S_IFREG|0644, st_size=1618944, ...}) = 0
5613 _llseek(3, 1617920, [1617920], SEEK_SET) = 0
5613 read(3, "\0\0\0\4\0\0\1g\0\0\26\243\0\0\0d\377\360\275\301\377\360"..., 1024) = 1024
5613 _llseek(3, 0, [0], SEEK_SET) = 0
5613 read(3, "??? \0\0\0 \0\0\0\303\0\0\7\316\0\0\0\372\0\0\0\1\0\0\0"..., 4096) = 4096
5613 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
5613 +++ killed by SIGSEGV +++
我的理解大致是读文件3时出问题了.

这里小弟想请教高手,如何修脚本文件才能解决问题???
或者,那里可以下载到solaris 下的fortran编译器?(刚刚从本论坛上下了solaris10,已经装到机器上了,还不回用,好象也没有fortran编译器)
请高手赐教了,小弟急
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP