相关问题:科学计算和HPC中Mac OS的状态
计算科学中的大量软件包都是用Fortran编写的,并且Fortran并没有消失。还需要Fortran编译器来构建其他软件包(一个值得注意的示例是SciPy)。
但是,Mac OS X不包括Fortran编译器。我应该如何在计算机上安装Fortran编译器?
相关问题:科学计算和HPC中Mac OS的状态
计算科学中的大量软件包都是用Fortran编写的,并且Fortran并没有消失。还需要Fortran编译器来构建其他软件包(一个值得注意的示例是SciPy)。
但是,Mac OS X不包括Fortran编译器。我应该如何在计算机上安装Fortran编译器?
Answers:
选择你的毒药。我建议使用自制软件。我尝试了所有这些方法,除了“ Fink”和“其他方法”。最初,当我编写此答案时,我更喜欢MacPorts。自那以来的两年中,Homebrew作为一个项目发展了很多,并且比MacPorts更具可维护性,MacPorts可能需要大量的PATH
黑客操作。
如果要使gfortran的版本与计算机上安装的gcc,g ++等的版本匹配,请从此处下载适当的gfortran版本。在[R开发商和SciPy的开发者推荐这种方法。
/usr/bin
。不破坏现有的编译器。不需要编辑PATH
。/usr/bin
。HPC Mac OS X具有最新版GCC的二进制文件(在撰写本文时为4.8.0(试验)),以及g77二进制文件和基于f2c的编译器。PETSc开发人员在其FAQ中推荐此方法。
/usr/local
;最新。不破坏现有的系统编译器或上述方法。不会干扰操作系统升级。PATH
。没有简单的方法可以在版本之间进行切换。(您可以修改PATH,删除编译器安装或在其周围浪费时间。)将破坏其他安装编译器的方法,/usr/local
因为编译器二进制文件仅被命名为'gcc','g ++'等(不带版本号,而没有任何符号链接)。MacPorts有许多可用的编译器版本。
/opt/local
; port select
可用于在编译器版本(包括系统编译器)之间切换。不会干扰操作系统升级。PATH
。可能会干扰Homebrew和Fink的安装。(请参阅SuperUser上的这篇文章。)Homebrew也可以用于安装Fortran编译器。
/usr/local
以避免造成混乱。可能会干扰MacPorts和Fink的安装。(请参阅有关SuperUser的帖子。)需要更改PATH
。安装可能取决于系统库,这意味着Homebrew软件包的依赖关系可能会在操作系统升级时中断。(请参阅本文。)我不希望在安装gfortran时存在系统库依赖性,但是在安装其他Homebrew软件包时可能会存在此类依赖性。从理论上讲,您可以使用Fink安装gfortran。我没有使用过它,而且我不认识任何人(并且愿意说些积极的话)。
其他二进制文件和链接在GFortran Wiki上列出。上面已经列出了一些链接。其余安装方法可能会或可能不会与上述描述冲突;使用风险自负。
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
EasyBuild(http://hpcugent.github.com/easybuild)使您可以轻松地构建和安装自己的GCC编译器集。
基本上,您给它一个简单的easyconfig(.eb)文件,该文件指定要构建的内容(GCC +版本+希望编译器使用的语言集...),然后构建和安装是单个命令。我会说它有点像Homebrew,但它给了您更多的自由。
另外,EasyBuild支持许多其他(科学)软件包,可以使用单个命令来构建和安装它们,因此值得研究。
免责声明:我是EasyBuild团队的一员。构建GCC(包括gfortran)应该可以在OS X上运行,但是其他构建可能会很麻烦。我们正在努力,如果遇到麻烦,请告知我们。
fpm
...
我建议在MacOS上使用Intel Fortran Composer。这是很好的,最新的并且有效。一件负面的事情,它不是免费的。我认为可以免费试用30天。
在Linux下,他们提供了一个免费的非商业版本。