如何在linux下编译Fortran 77文件? [已关闭]

问题描述 投票:0回答:9

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

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

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

linux fortran
9个回答
20
投票

GCC 的 Fortran 编译器名称已更改:

g77
已替换为
gfortran
,它处理 Fortran 95 以及可能更新的变体。

Ubuntu 中的包名为

gfortran
:

sudo apt-get install gfortran

(或使用突触)

Fedora 中的软件包称为 gfortran,是 gcc 的一部分,您可能已经拥有了:

sudo yum install gcc

(或使用piru)

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

更新: 在 RedHat 4.1.2 上,该软件包似乎被称为

gcc4-gfortran
。 顺便说一句,您应该能够使用 yum 搜索此内容,这可能是您问题的最佳答案:

yum search "*fortran*"

3
投票

对于 Amazon Linux:

 sudo yum --enablerepo=epel install gcc-gfortran

3
投票

“夸克”在回答中写道,g77 更名为 gfortran。这是不正确的。

g77 和 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 77 和 Fortran 66(又名 FORTRAN IV)之外,还支持现代 Fortran 标准(Fortran 90、95、2003 和 2008),并且比 g77 和 f2c 有了明显的改进。它还可以生成更快的代码并为我们提供更好的错误消息。

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


1
投票

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

如果我没记错的话,GNU 没有 FORTRAN 编译器,而是有 FORTRAN 预处理器(或者无论它的名称是什么)。它只是将您的代码转换为 C 语言并使用 C 编译器进行编译。当然,在此过程中性能会变得很糟糕。

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


1
投票

gcc-fortran
Fortran
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/


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


0
投票

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

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

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

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

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

可以在此处找到一些 RPM。 GNU 软件可以在这里获取,或者您可能想查看他们的镜像以获得更快的站点。


0
投票

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


0
投票

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

否则,要为您的系统获取正确的 gfortran RPM,我建议您访问 相关 rpmfind 页面

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

© www.soinside.com 2019 - 2024. All rights reserved.