関連する質問:科学計算およびHPCにおけるMacOSの状態

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

ただし、Mac OSXにはFortranコンパイラ。自分のマシンにFortranコンパイラをインストールするにはどうすればよいですか?

コメント

  • Fortranだけではありません。Macは単に高品質をサポートしていません。すべてが正常に機能するDebianのようなリポジトリ。Macに複雑なものをインストールするのは面倒です。

回答

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

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

gfortranのバージョンをマシンにインストールされているgcc、g ++などのバージョンと一致させる場合は、適切なバージョンのgfortranをここ。 R開発者 SciPy開発者はこの方法を推奨しています。

  • 利点:XCodeまたはケネスでインストールされたコンパイラのバージョンと一致しますReitzのインストーラー; OSのアップグレードに干渉する可能性は低い; /usr/binにインストールされるため、MacPorts(およびおそらくFinkとHomebrew)とうまく共存します。既存のコンパイラーを壊しません。 。 PATHを編集する必要はありません。
  • デメリット:コンパイラスタックは本当に古いものになります(GCC 4.2.1は最新のAppleコンパイラで、2007年にリリースされました。)/usr/binにインストールします。

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

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

  • 利点:適切なコマンドを使用して、インストールします/usr/local;最新。既存のシステムコンパイラ、または上記のアプローチを覆い隠しません。 OSのアップグレードに干渉しません。
  • デメリット:。バージョンを切り替える簡単な方法はありません(PATHを変更したり、コンパイラのインストールを削除したり、その周りを混乱させたりする可能性があります)。/usr/localコンパイラバイナリは単に「gcc」、「g ++」などの名前が付けられているため(バージョン番号やシンボリックリンクなし)。

MacPortsを使用

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

  • 利点/opt/localにインストール; port selectを使用してコンパイラのバージョンを切り替えることができます(システムコンパイラを含む)OSのアップグレードに干渉しません。
  • 欠点:ポートのインストールは傾向があります「ソフトウェアecosys」全体を必要とするtem」。コンパイラには、デバッガの使用時やPETScのインストール時に問題が発生する可能性のあるデバッグシンボルが含まれていません( Sean Farley はいくつかの回避策を提案しています)。 div id = “2be00892b1″>

。HomebrewとFinkのインストールを妨げる可能性があります( SuperUserに関するこの投稿を参照してください。)

自作を使用

自作を使用してFortranコンパイラをインストールすることもできます。

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

Finkを使用する

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

その他の方法

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

コメント

  • FinkがMacPortsよりも優先されるパッケージマネージャーだった時期がありました。スタックが古く、保守されておらず、

    私が定期的に使用したライブラリの多くが含まれています。ほぼすべての方法でここでは、パッケージマネージャーによって管理されるものと、手作業でロールするものがあります。 Homebrewはこのようなシステムの方が優れていますが、MacPortsと実際に競争するには、はるかに多くのライブラリが必要です。

  • Sage(sagemath.org)やQsnake( qsnake.com )、独自のFortranコンパイラを出荷し、"環境"、ここで" gfortran "と呼ぶことができます。
  • 私はfink s gfortranは私の10.5ボックスにありますが、本当に深刻なテストを行ったことがありません。 cernlibとgeant3をコンパイルしますが、最近'どちらの下でも大きなジョブを実行していません。
  • Homebrewの場合、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
  • Sean Farley ' s Wikiページが機能しなくなりました(デバッガーをMacPortsインストールで機能させる方法に関して)。これを再リンクできますか?

回答

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

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

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

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

コメント

  • OS Xでテストを行いましたか? 'は機能するはずです'経験からですか、それとも期待からですか?
  • @DeerHunter:経験から、私の個人的なラップトップはMacで、OS Xを実行しています。GCCのビルドは機能しますが、EasyBuildは他のビルドで問題が発生することがわかっています。すぐに調査したいと思います。
  • 賛成… EASY_BUILDを使用してpythonグッズをRPMにパッケージ化する…
  • @DeerHunter EasyBuildは現在、'ものをRPMにパッケージ化することをサポートしていません。多分あなたは' EasyBuild(' eb 'コマンドを提供)と' easy_install '、setuptools / disitutilsによって提供されるPythonインストールツール?
  • その通りです。ランダムメモリ失敗。とにかく、EasyBuildをチェックアウトします。パッケージ化はfpm

回答

MacOS上のIntelFortranComposerをお勧めします。それは「良く、最新で、機能します。1つの悪い点は、無料ではありません。ただし、30日間の無料評価があると思います。

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

コメント

  • LinuxユーザーはSolarisStudioをインストールすることもできます。それは非常によく統合されています(C / C ++ / Fortranコンパイラ)。 Dbxtoolは非常に便利であり、アナライザーも同様です(たとえば、openmpプログラムで競合状態を検出するため)。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です