FortranコンパイラをMacにインストールするにはどうすればよいですか?(OS X 10.x、x> = 4)


25

関連質問:科学計算とHPCでのMac OSの状態

計算科学のかなりの数のソフトウェアパッケージがFortranで記述されており、Fortranはなくなりません。他のソフトウェアパッケージをビルドするには、Fortranコンパイラも必要です(注目すべき例の1つはSciPyです)。

ただし、Mac OS XにはFortranコンパイラが含まれていません。Fortranコンパイラをマシンにインストールする方法は?


1
Fortranだけではありません。Macには、Debianのような、すべてがうまく機能する高品質のサポートされたリポジトリがありません。複雑なものをMacにインストールするのは面倒です。
stali

回答:


32

あなたの毒を選んでください。Homebrewの使用をお勧めします。「Fink」と「Other Methods」以外のこれらの方法をすべて試しました。もともと、私はこの回答を書いたときにMacPortsを好みました。それから2年で、Homebrewはプロジェクトとして大きく成長し、多くのPATHハッキングを必要とするMacPortsよりも保守性が高いことが証明されました。

システムコンパイラに一致するバージョンのインストール

gfortranのバージョンを、マシンにインストールされているgcc、g ++などのバージョンと一致させる場合は、ここからgfortranの適切なバージョンをダウンロードしますRの開発者scipyのダウンロード開発者は、この方法をお勧めします。

  • 利点:XCodeまたはKenneth Reitzのインストーラーでインストールされたコンパイラーのバージョンと一致します。OSのアップグレードを妨げることはほとんどありません。MacPorts(およびおそらくFinkとHomebrew)とうまく共存します/usr/bin。既存のコンパイラを壊しません。編集する必要はありませんPATH
  • 短所:コンパイラスタックは非常に古いものになります。(GCC 4.2.1は最新のAppleコンパイラです。2007年にリリースされました。)にインストールし/usr/binます。

HPC Mac OS Xからプリコンパイルされた最新のバイナリをインストールする

HPC Mac OS Xには、GCCの最新リリース用のバイナリ(この記事の執筆時点では4.8.0(実験的))、g77バイナリ、およびf2cベースのコンパイラがあります。PETSc開発者は、FAQでこの方法を推奨しています。

  • 利点:適切なコマンドを使用して、次の場所にインストールし/usr/localます。最新の。既存のシステムコンパイラを壊したり、上記のアプローチを壊したりしません。OSのアップグレードを妨げません。
  • 欠点:編集する必要がありますPATH。バージョンを切り替える簡単な方法はありません。(PATHを変更したり、コンパイラのインストールを削除したり、それを回避したりすることができます。)/usr/localコンパイラバイナリの名前は単に「gcc」、「g ++」など(バージョン番号なし、シンボリックリンク)。

MacPortsを使用する

MacPortsには、使用可能な多数のコンパイラバージョンがあります。

  • 利点:インストール先/opt/local; port selectコンパイラのバージョン(システムコンパイラを含む)を切り替えるために使用できます。OSのアップグレードを妨げません。
  • 欠点:ポートをインストールするには、「ソフトウェアエコシステム」全体が必要になる傾向があります。コンパイラには、デバッガを使用したり、PETScをインストールするときに問題を引き起こす可能性のあるデバッグシンボルが含まれていません。(Sean Farleyはいくつかの回避策を提案しています。)また変更する必要がありPATHます。HomebrewとFinkのインストールを妨げる可能性があります。(SuperUserに関するこの投稿を参照してください。)

Homebrewを使用

Homebrewは、Fortranコンパイラのインストールにも使用できます。

  • 利点:使いやすいパッケージマネージャー。「システムコンパイラに一致するバージョンのインストール」と同じFortranコンパイラをインストールします。必要なものだけをインストールしてください(MacPortsとは対照的)。代替リポジトリーhomebrew-dupesを使用して、新しいGCC(4.7.0)スタックをインストールできます。
  • 短所:「システムコンパイラに一致するバージョンのインストール」のすべての短所を継承しています。他の(Homebrew以外の)ソフトウェアをインストールするときは、Homebrewパラダイムに従って、/usr/local混乱を避ける必要があります。MacPortsおよびFinkのインストールを妨げる可能性があります。(SuperUserのこの投稿を参照してください。)変更する必要がありますPATH。インストールはシステムライブラリに依存する可能性があります。つまり、Homebrewパッケージの依存関係はOSのアップグレード時に壊れる可能性があります。(この記事を参照してください。)gfortranをインストールするときにシステムライブラリの依存関係があるとは思いませんが、他のHomebrewパッケージをインストールするときにそのような依存関係がある可能性があります。

Finkを使用する

理論的には、Finkを使用してgfortranをインストールできます。私はそれを使ったことはありませんし、持っている(そして前向きなことを言って喜んでいる)人は誰も知りません。

その他の方法

他のバイナリとリンクはGFortran wikiにリストされています。一部のリンクは既に上記にリストされています。残りのインストール方法は、上記のインストール方法と競合する場合と競合しない場合があります。自己責任。


FinkがMacPortsよりも優先されるパッケージマネージャーであった時代がありました。スタックは古く、メンテナンスされておらず、定期的に使用するライブラリの多くが含まれていなかったため、数年前に使用を停止しました。ここでは、ほぼすべての方法で、パッケージマネージャーが管理するものと、手でロールするものがあります。Homebrewはそのようなシステムで優れていますが、MacPortsと本当に競争力があるためにははるかに多くのライブラリが必要です。
-aterrel

1
また、セージ(sagemath.org)またはQsnake(のようなプロジェクトに使用することができますqsnake.comあなただけ「のgfortran」呼び出すことができる「環境」、で仕事にあなたを自分自身のFortranコンパイラを出荷し、許可します)、。
オンドレジ・セティク

私は10.5ボックスにfinkのgfortranを持っていますが、本当に深刻なテストを行ったことはありません。それはなり CERNLIBとGEANT3をコンパイルしますが、私は最近のいずれかの下で任意の大きなジョブを実行していません。
dmckee

自作の場合は、のgfortranは今でインストールされているbrew install gcc$ brew install gfortran gives the message: Error: No available formula for gfortran GNU Fortran is now provided as part of GCC, and can be installed with: brew install gcc
デイブEveritt

Sean FarleyのWikiページへのリンクは機能しなくなりました(MacPortsインストールでデバッガーを動作させる方法に関して)。これは再リンクできますか?
TSGM

1

EasyBuild(http://hpcugent.github.com/easybuild)を使用すると、独自のGCCコンパイラセットを簡単にビルドおよびインストールできます。

基本的に、ビルドするものを指定するシンプルなeasyconfig(.eb)ファイル(GCC +バージョン+コンパイラに使用する言語のセット+ ...)を指定すると、ビルドとインストールは1つのコマンドになります。Homebrewに少し似ていると思いますが、より自由になります。

また、EasyBuildは、単一のコマンドでビルドおよびインストールできる他の(科学的)ソフトウェアパッケージを多数サポートしているため、検討する価値があります。

免責事項:私はEasyBuildチームの一員です。GCCのビルド(gfortranを含む)はOS Xで動作するはずですが、他のビルドは面倒な場合があります。作業中です。問題が発生した場合はお知らせください。


OS Xでテストを実行しましたか?「働くべき」と言うとき、それは経験や期待からですか?
ディアハンター

@DeerHunter:経験から、私の個人的なラップトップはOS Xを実行するMacです。GCCのビルドは機能しますが、EasyBuildには他のビルドで問題があることが知られています。すぐに検討することを望んでいます。
ケネスホスト

投票... EASY_BUILDを使用してpythonグッズをRPMにパッケージ化していることが判明しました...
ディアハンター

@DeerHunter EasyBuildは現在、RPMへのパッケージングをサポートしていません。たぶん、EasyBuild( 'eb'コマンドを提供)とsetuptools / disitutilsが提供するPythonインストールツール 'easy_install'を混同しているのでしょうか?
ケネスホスト

あなたが正しいです; ランダムなメモリ障害。とにかくEasyBuildをチェックしてください。包装はfpm… によって行われます
鹿ハンター

0

MacOS上のIntel Fortran Composerをお勧めします。それは良い、最新で動作します。マイナス面は、無料ではないということです。ただし、30日間の無料評価があると思います。

Linuxでは、無料の非商用バージョンを提供しています。


Linuxユーザーは、Solaris Studioもインストールできます。非常によく統合されています(C / C ++ / Fortranコンパイラー)。Dbxtoolは非常に便利で、アナライザー(たとえば、openmpプログラムの競合状態を検出するため)も便利です。
stali
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.