如何在linux中编译Fortran 77文件?

时间:2009-07-24 05:48:23

标签: linux compiler-construction fortran

我需要在Linux中使用Fortran 77的编译器。

人们使用的是否有免费的编译器?

我听说过g77,但我找不到rpm或者如何在linux中安装它。

谢谢!

9 个答案:

答案 0 :(得分:20)

GCC的Fortran编译器名称已更改:g77已替换为gfortran,它处理Fortran 95以及可能更新的变体。

Ubuntu中的包称为gfortran

sudo apt-get install gfortran

(或使用突触)

Fedora中的包被称为gfortran,是gcc的一部分,你可能已经拥有它了:

sudo yum install gcc

(或使用pirut)

类似的搜索也适用于您的发行版。

更新:在RedHat 4.1.2上,程序包似乎被称为gcc4-gfortran。顺便说一句,你应该能够用yum搜索这个,这可能是你问题的最佳答案:

yum search "*fortran*"

答案 1 :(得分:3)

对于Amazon Linux:

 sudo yum --enablerepo=epel install gcc-gfortran

答案 2 :(得分:2)

"夸克"在他的回答中写道,g77改名为gfortran。这是不正确的。

g77 ang gfortran是不同的编译器。 g77在GNU编译器集合(GCC)中被gfortran 替换,它不是重命名的 gfortran。

gfortran是一个基于g95编译器的现代Fortran编译器。 g77是放弃软件。他们不共享代码库。二进制文件和库在g77和gfortran之间也不兼容,因为它们使用不同的ABI。

g77是相同的编译器,称为f2c(可以从Netlib下载),或者更确切地说是一个名为fc的shell脚本,它在输出中调用f2c然后cc。所有g77所做的就是跳过C作为一种中间语言,因为它在20世纪80年代和90年代初都有速度惩罚。 f2c和g77是由同一个人写的,否则是相同的。凭借现代CPU(长流水线和分支预测)和现代C编译器(更好的别名分析),g77优于原始f2c。另一方面,gfortran支持现代Fortran标准(Fortran 90,95,2003和2008)以及旧版Fortran 77和Fortran 66(又名FORTRAN IV),并且是对g77和f2c的明显改进。它还可以生成更快的代码并为我们提供更好的错误消息。

g77与f2c二进制兼容,但不与gfortran兼容。 gfortran可以通过-ff2c被迫承担g77 ABI。如果可能,应该避免使用此编译器选项,因为它会降低Fortran代码的性能。

答案 3 :(得分:1)

http://www.g95.org/可用。

如果我记得很清楚,GNU没有FORTRAN编译器,而是FORTRAN预处理器(或者其名称)。它只是将您的代码转换为C并使用C编译器编译它。当然,性能在这个过程中变成了废话。

但是,如果您使用的是FORTRAN,我认为它是一种计算项目。如果它是免费的(不是学术性的而不是课程相关的),您可以免费获得英特尔FORTRAN编译器。根据我的经验,它比任何免费实现快3-4倍。

答案 4 :(得分:1)

gcc-fortranFortran的{​​{1}}编译器的包名称。

openSUSE 11.x

http://gcc.gnu.org/fortran/

答案 5 :(得分:1)

我做了以下步骤并且工作了!

  1. 修改您的/etc/apt/sources.list

  2. 在该文件中添加此文字(/etc/apt/sources.list):

    deb http://hu.archive.ubuntu.com/ubuntu/ hardy universe
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy universe
    deb http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
    deb-src http://hu.archive.ubuntu.com/ubuntu/ hardy-updates universe
    
  3. 保存文件

  4. 打开终端,输入:sudo apt-get install fort77

答案 6 :(得分:0)

安装软件的方法是特定于分发的。例如,在Ubuntu9中,我会启动Synaptic并搜索Fortran或g77(也可以使用apt-get)。

其他我不太了解的发行版虽然我听说过yum和yast(我想但我不确定)RedHat和Suse。

如果您的标准软件包安装程序无法使用,则必须找到其他解决方案,例如:

  • 使用不同的Fortran;或
  • 从源头构建它。

第二种方法听起来不祥,但实际上并非如此(除了确保您拥有正确的依赖关系)。大多数源程序包遵循的configure / make / install过程使得以交叉分发方式非常容易。

可以找到一些RPM here。 GNU软件可用here,或者您可以查看他们的mirrors以获取更快的网站。

答案 7 :(得分:0)

您还可以使用Netbeans制作c& c ++项目,并使用新的.f90文件添加Fortran,并使用Netbeans工具进行运行和调试。 在此之前,您必须安装gcc和gfortran包。

答案 8 :(得分:0)

根据我的经验,Red Hat发行版(以及基于它的发行版)都包含gfortran,但是当你进行安装时它是一个选项,所以你的系统似乎很可能没有gfortran。如果你有安装媒体,我认为你应该能够从那里安装gfortran。

否则,为了获得适合您系统的gfortran RPM,我建议使用related rpmfind page

一旦你安装了gfortran,我认为“-std = legacy”(引用我的)应该允许F77编译工作。