f77中有多个无法识别的选项

时间:2011-07-13 19:42:58

标签: linux makefile fortran fortran90 fortran77

我正在尝试编译由其他人开发的一些完整的Fortran代码。 makefile引用CC,F77和F90。我们的服务器上没有F90,但如果事实证明它确实需要,我可能会要求它。

无论如何,我认为我已经适当地设置了环境变量(我所做的只是取消注释正确的行),所以我把文件命名为makefile,输入make并得到以下错误。

make[1]: Entering directory `/imageseer/Scripts/PGE03_V5.2.6/PGE03/MOD_PR35' 
f77 -c -n32 -fullwarn -u -bytereclen -extend_source -woff 2271,2272,2274 -O2 -c -u -bytereclen -col120 -woff 2271,2272,2274 -I -I -I -I -I/shared_src/atmos_src/src_UW -I/shared_src/atmos_src/src_L2 Antarctic_day.f  
f77: 2271,2272,2274: No such file or directory  
f77: 2271,2272,2274: No such file or directory  
f77: unrecognized option `-n32'  
f77: unrecognized option `-woff'  
f77: unrecognized option `-col120'  
f77: unrecognized option `-woff'  
f771: error: unrecognized command line option "-fullwarn"  
make[1]: *** [Antarctic_day.o] Error 1  
make[1]: Leaving directory `/imageseer/Scripts/PGE03_V5.2.6/PGE03/MOD_PR35'  
make: *** [target] Error 2  

我不确定你们是否能够提供帮助,但不幸的是,由于许可问题,我认为在这里复制代码并不合适。无论如何,我不知道如何判断未识别的选项是否对开发团队的系统是唯一的,或者是否是由于我的系统的一些缺点(即,我应该让我的高级系统管理员安装f90),或者其他一些问题。我还应该承认,我对Fortran几乎一无所知,并且只使用了make与cc,所以第三种可能性是我应该把责任推给别人,但我不认为我团队中的任何人都知道Fortran 。一如既往,感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

无论你是否知道,你几乎肯定拥有(或可能拥有)fortran 90编译器;现在任何体面的fortran编译器都至少支持F90 / 95。 f77是g77的链接吗?你有gfortran安装吗?

在我看来,这些选项适用于旧的SGI编译器。如果是这种情况,则可以使用newly-open-sourced Pathscale compilers“开箱即用”。但我认为大多数选项在其他编译器中都有类似的东西。

有些选项似乎列在here中。 -fullwarn打开所有警告;在gfortran那将是-Wall。 -woff关闭了一些警告 - 在这里,警告2271,2272和2274.不知道那些是什么现在;我只是留下所有警告,看看它是什么来的。

-col120提升了f77的72列限制,允许行为120列宽。在g77 / gfortran中,它将是-ffixed-line-length-120。 -extend_source做类似的事情,可能会被忽略。

-n32生成我所采用的32位对象。 -m32也应该这样做,但是我等着找出为什么这需要32位才能做到这一点。