【问题标题】:How to compile Fortran 77 files in linux? [closed]如何在 Linux 中编译 Fortran 77 文件? [关闭]
【发布时间】:2009-07-24 05:48:23
【问题描述】:

我需要一个用于 Linux 中 Fortran 77 的编译器。

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

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

谢谢!

【问题讨论】:

标签: linux compiler-construction fortran


【解决方案1】:

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*"

【讨论】:

  • 我有红帽。我试过“sudo yum install g77”和gfortran,但它说没有可用的包g77/gfortran。我做错了吗?
  • 一件事不叫g77。我在 Google 上搜索了“Redhat 4.1.2 gfortran”。该软件包显然被称为“gcc4-gfortran”。更新答案。
  • g77 未重命名为 gfortran。这些不一样。
【解决方案2】:

对于亚马逊 Linux:

 sudo yum --enablerepo=epel install gcc-gfortran

【讨论】:

    【解决方案3】:

    “夸克”在他的回答中写道,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 作为一种中间语言,因为它在 1980 年代和 1990 年代初期会带来速度损失。 f2c 和 g77 是由同一个人编写的,其他方面相同。凭借现代 CPU(长管道和分支预测)和现代 C 编译器(更好的别名分析),g77 与原始 f2c 相比没有任何优势。另一方面,gfortran 支持现代 Fortran 标准(Fortran 90、95、2003 和 2008)以及旧的 Fortran 77 和 Fortran 66(又名 FORTRAN IV),并且是对 g77 和 f2c 的明显改进。它还可以生成更快的代码并为我们提供更好的错误消息。

    g77 与 f2c 二进制兼容,但与 gfortran 不兼容。通过传递 -ff2c 可以强制 gfortran 采用 g77 ABI。应尽可能避免使用此编译器选项,因为它会降低 Fortran 代码的性能。

    【讨论】:

    • 你好不是写的。他写道,GCC 现在有一个不同名称的编译器取代了 g77。接受的答案是正确的。
    • 现在是正确的。不是我评论的时候。
    【解决方案4】:

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

    如果我没记错的话,GNU 没有 FORTRAN 编译器,但有一个 FORTRAN 预处理器(或任何名称)。它只是将您的代码转换为 C 并使用 C 编译器对其进行编译。当然,性能在这个过程中变得很糟糕。

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

    【讨论】:

    • 我在哪里可以获得英特尔 fortran for linux 的免费副本?我很难在 google 上找到免费版本。
    • 我想他可能指的是免费的 30 天评估许可证。
    • 另外,gfortran 是一个完整的编译器:gcc.gnu.org/wiki/GFortran
    • 如果您进行非商业开发,英特尔编译器非常适合。
    【解决方案5】:

    gcc-fortranFortran 编译器的包名,用于openSUSE 11.x

    linux-y3pi: # zypper what-provides gcc-fortran
    Loading repository data...                                                                                                                                                        
    Reading installed packages...
    S | Name        | Type    | Version | Arch   | Repository             
    --+-------------+---------+---------+--------+------------------------
    i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3-Oss      
    i | gcc-fortran | package | 4.5-4.2 | x86_64 | openSUSE-11.3 11.3-1.82
    v | gcc-fortran | package | 4.5-4.2 | i586   | openSUSE-11.3-Oss      
    [1]+  Done                    yast2
    linux-y3pi: # 
    

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

    【讨论】:

      【解决方案6】:

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

      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

      【讨论】:

        【解决方案7】:

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

        我对其他发行版知之甚少,尽管我听说过(我认为但我不确定)RedHat 和 Suse 的 yum 和 yast。

        如果无法通过您的标准软件包安装程序获得,您将不得不寻找其他解决方案,例如:

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

        第二种方法听起来不祥,但实际上并非如此(除了确保您拥有正确的依赖关系)。大多数源代码包都遵循的配置/制作/安装过程使得以交叉分发的方式进行非常容易。

        可以在here 找到一些 RPM。 GNU 软件在here 可用,或者您可能想查看他们的mirrors 以获得更快的站点。

        【讨论】:

          【解决方案8】:

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

          【讨论】:

            【解决方案9】:

            根据我的经验,Red Hat 发行版(以及基于它的发行版)包含 gfortran,但是在您进行安装时它是一个选项,因此您的系统似乎很可能是在没有 gfortran 的情况下设置的。如果你有安装媒体,我想你应该可以从那里安装 gfortran。

            否则,要为您的系统获取正确的 gfortran RPM,我建议使用 related rpmfind page

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-11-10
              • 1970-01-01
              • 1970-01-01
              • 2019-03-02
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多