web-dev-qa-db-ja.com

LinuxでFortran77ファイルをコンパイルする方法は?

LinuxでFortran77用のコンパイラが必要です。

人々が使用する無料のコンパイラはありますか?

G77について聞いたことがありますが、rpmやLinuxへのインストール方法が見つかりません。

ありがとう!

11
chris

GCCのFortranコンパイラ名が変更されました。g77gfortranに置き換えられました。これは、Fortran95および場合によってはより最近のバリアントを処理します。

Ubuntuのパッケージはgfortranと呼ばれます。

Sudo apt-get install gfortran

(またはシナプスを使用)

Fedoraのパッケージはgfortranと呼ばれ、gccの一部であり、おそらくすでに持っています。

Sudo yum install gcc

(またはピルトを使用)

同様の検索がディストリビューションでも機能するはずです。

更新: RedHat 4.1.2では、パッケージはgcc4-gfortranと呼ばれているようです。ちなみに、yumでこれを検索できるはずですが、それがあなたの質問に対する最良の答えかもしれません。

yum search "*fortran*"
20
quark

Amazon Linuxの場合:

 Sudo yum --enablerepo=epel install gcc-gfortran
3
Nate

「クォーク」は彼の答えの中で、g77はgfortranに改名されたと書いています。それは正しくありません。

g77 anggfortranは異なるコンパイラです。 g77はGNUコンパイラコレクション(GCC)でgfortranに置き換えられます、そうではありません名前が変更されましたgfortran。

gfortranは、g95コンパイラに基づく最新のFortranコンパイラです。 g77はアバンダンウェアです。それらはコードベースを共有しません。バイナリファイルとライブラリも、異なるABIを使用するため、g77とgfortranの間で互換性がありません。

g77は、f2c( Netlib からダウンロードできます)と呼ばれるコンパイラと同じです。より正確には、出力でf2cを呼び出してからccを呼び出すfcと呼ばれるシェルスクリプトです。 g77が行ったのは、1980年代と1990年代初頭に速度ペナルティが発生したため、中間言語としてCをスキップすることだけでした。 f2cとg77は同じ人によって書かれ、それ以外は同じです。最新のCPU(長いパイプラインと分岐予測)と最新のCコンパイラ(はるかに優れたエイリアス分析)を備えたg77は、元のf2cに勝る利点はありません。一方、gfortranは、古いFortran77およびFortran66(別名FORTRAN IV)に加えて、最新のFortran標準(Fortran 90、95、2003、および2008)をサポートし、g77およびf2cよりも明らかに改善されています。また、より高速なコードを生成し、より適切なエラーメッセージを提供します。

g77はf2cとバイナリ互換ですが、gfortranとは互換性がありません。 gfortranは、-ff2cを渡すことにより、g77ABIを想定するように強制できます。このコンパイラオプションは、Fortranコードのパフォーマンスを低下させるため、可能であれば避ける必要があります。

2
Sturla Molden

私は次の手順を実行して作業しました!

  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

1
gang

http://www.g95.org/ 利用可能です。

よく覚えていればGNUにはFORTRANコンパイラはありませんが、FORTRANプリプロセッサ(またはその名前は何でも)があります。コードをCに変換し、Cコンパイラでコンパイルします。 。もちろん、パフォーマンスはその過程でがらくたになります。

ただし、FORTRANを使用している場合は、一種の計算プロジェクトだと思います。無料の場合(アカデミックでもコース関連でもない)、IntelFORTRANコンパイラーを無料で入手できます。私の経験では、無料の実装よりも約3〜4倍速くなります。

1
R4cOOn

gcc-fortranは、openSUSE 11.xFortranコンパイラのパッケージ名です。

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
Aquarius_Girl

ソフトウェアをインストールするための手段は、ディストリビューション固有です。たとえば、Ubuntu9では、Synapticを起動して、Fortranまたはg77を検索します(apt-getも使用できます)。

RedHatとSuseのyumとyastについて聞いたことはありますが、私がほとんど知らない他のディストリビューション(私は思いますが、よくわかりません)。

標準のパッケージインストーラーで利用できない場合は、次のような別の解決策を見つける必要があります。

  • 別のFortranを使用する。または
  • ソースからビルドします。

その2番目の方法は不吉に聞こえますが、実際にはそうではありません(適切な依存関係があることを確認する以外)。ほとんどのソースパッケージが従うconfigure/make/installプロセスにより、クロスディストリビューション方式での実行が非常に簡単になります。

いくつかのRPMが見つかります ここ 。 GNUソフトウェアが利用可能です ここ またはあなたはより速いサイトのために彼らの ミラー をチェックしたいかもしれません。

0
paxdiablo

Netbeansを使用してc&c ++プロジェクトを作成し、新しい.f90ファイルでFortranを追加し、Netbeansツールを使用して実行およびデバッグすることもできます。その前に、gccおよびgfortranパッケージをインストールする必要があります。

0
Sajad Bahmani

私の経験では、Red Hatディストリビューション(およびそれに基づくディストリビューション)にはgfortranが含まれていますが、インストールを行う際のオプションであるため、システムがgfortranなしでセットアップされた可能性があります。インストールメディアがあれば、そこからgfortranをインストールできるはずだと思います。

それ以外の場合は、システムに適切なgfortran RPMを取得するために、 関連するrpmfindページ をお勧めします。

Gfortranをインストールしたら、「-std = legacy」(引用符)でF77コンパイルが機能するはずだと思います。

0
PTBNL