如何用 Homebrew gfortran 替换我的 HPC gfortran?
How do I replace my HPC gfortran with Homebrew gfortran?
我目前 Xcode(以及命令行工具)和 gfrotran from HPC 安装在我的 Yosemite 系统上,我想 替换 HPC 的 gfortran 与 Homebrew 的(因为我在使用 HPC gfortran 构建 Python 包时遇到问题)。
完成这个的步骤是什么?
我想确定
- HPC 的 gfortran 不见了(我只想要一个 Fortran)和
- Apple 的工具仍然有效(用于 Xcode、Swift、OS X 和 iOS 开发等)
当然还有
- 我有一个可以可靠地构建 Python 包的 gfortran 工作版本。
这能做到吗?例如,我看到 Homebrew 的 gfortran 现在被打包为 gcc 的一部分,所以看起来我最终会得到两个版本的 gcc(我想避免)或一个不能很好地与 Xcode.
完成 1-3 的步骤是什么?
我最近解决了同样的问题。这就是我 got/have 它在我的 Yosemite 系统上工作的方式。
关于自制软件和命令行工具编译器的一些事情:
你通过 home-brew 获得的编译器将覆盖现有的如果它在同一个地方。如果你有一个从命令行工具获得的 Fortran 编译器,那么它不会受到影响。(Home-brew 会在做任何事情之前警告你)
您通过命令行工具获得的编译器的二进制文件在 /usr/bin
中。
您使用自制软件获得的编译器(以及其他任何东西)存储在地窖中(/usr/local/Cellar
)
可执行文件链接到目录 /usr/local/bin
。
怎么办?
修改路径:
我只需要使用通过自制软件获得的编译器,所以我将 /usr/local/bin
移到了 $path
的顶部,这确保了 /usr/local/bin
目录在 /usr/bin
之前被搜索。
使用别名:
您可以为每个编译器创建一个别名,以便您可以根据需要互换使用它们。要创建别名,您必须修改 shell-rc 文件。在我的系统上,我使用 tcsh,并为自制编译器创建一个别名,我会在我的 ~/.cshrc 文件中添加类似的内容。
alias brewgfortran '/usr/local/bin/gfortran'
这现在执行存储在我的地窖中并链接到 /usr/local/bin/gfortran/
的自制 gfortran-4.9 可执行文件
如果您绝对想摆脱苹果编译器,您当然可以将它们从 /usr/bin/
目录中完全删除。我不认为这是最好的主意。我已经向您展示了一些避免使用它们的方法,如果您出于某种原因需要它们,您将成为 SOL。我不能说你需要的那些工具是否可以在没有它们的情况下工作,因为我从未使用过任何这些工具,但我知道它会为你构建 python 包(抱歉希望这仍然有帮助)
注意: 如果您使用的 shell 与我不同,别名的语法略有不同(我认为)只是 google它或 man alias
我目前 Xcode(以及命令行工具)和 gfrotran from HPC 安装在我的 Yosemite 系统上,我想 替换 HPC 的 gfortran 与 Homebrew 的(因为我在使用 HPC gfortran 构建 Python 包时遇到问题)。
完成这个的步骤是什么?
我想确定
- HPC 的 gfortran 不见了(我只想要一个 Fortran)和
- Apple 的工具仍然有效(用于 Xcode、Swift、OS X 和 iOS 开发等)
当然还有
- 我有一个可以可靠地构建 Python 包的 gfortran 工作版本。
这能做到吗?例如,我看到 Homebrew 的 gfortran 现在被打包为 gcc 的一部分,所以看起来我最终会得到两个版本的 gcc(我想避免)或一个不能很好地与 Xcode.
完成 1-3 的步骤是什么?
我最近解决了同样的问题。这就是我 got/have 它在我的 Yosemite 系统上工作的方式。
关于自制软件和命令行工具编译器的一些事情:
你通过 home-brew 获得的编译器将覆盖现有的如果它在同一个地方。如果你有一个从命令行工具获得的 Fortran 编译器,那么它不会受到影响。(Home-brew 会在做任何事情之前警告你)
您通过命令行工具获得的编译器的二进制文件在
/usr/bin
中。您使用自制软件获得的编译器(以及其他任何东西)存储在地窖中(
/usr/local/Cellar
) 可执行文件链接到目录/usr/local/bin
。
怎么办?
修改路径: 我只需要使用通过自制软件获得的编译器,所以我将
/usr/local/bin
移到了$path
的顶部,这确保了/usr/local/bin
目录在/usr/bin
之前被搜索。使用别名: 您可以为每个编译器创建一个别名,以便您可以根据需要互换使用它们。要创建别名,您必须修改 shell-rc 文件。在我的系统上,我使用 tcsh,并为自制编译器创建一个别名,我会在我的 ~/.cshrc 文件中添加类似的内容。
alias brewgfortran '/usr/local/bin/gfortran'
这现在执行存储在我的地窖中并链接到
/usr/local/bin/gfortran/
的自制 gfortran-4.9 可执行文件
如果您绝对想摆脱苹果编译器,您当然可以将它们从
/usr/bin/
目录中完全删除。我不认为这是最好的主意。我已经向您展示了一些避免使用它们的方法,如果您出于某种原因需要它们,您将成为 SOL。我不能说你需要的那些工具是否可以在没有它们的情况下工作,因为我从未使用过任何这些工具,但我知道它会为你构建 python 包(抱歉希望这仍然有帮助)
注意: 如果您使用的 shell 与我不同,别名的语法略有不同(我认为)只是 google它或 man alias