osx-mountain-lion - 使用 Homebrew 软件和安装程序安装 gfortran 会产生冲突吗?

标签 osx-mountain-lion homebrew gfortran

我正在按照在线教程使用 Homebrew 软件安装一些 Python 模块,其中一步是使用 brew install gfortran 安装 gfortran。后来,我尝试使用另一个第三方安装脚本来安装一些 Python 模块,后来我意识到该脚本所做的部分工作是下载并运行 http://r.research.att.com/tools/gcc-42-5666.3-darwin11.pkg .我不太了解 gfortran,但看着 the brew formula for gfortran看来 brew 使用的版本与 att.com 版本不同。这会导致将来出现问题吗?我再次执行了 brew uninstall gfortranbrew install gfortran,到目前为止,事情似乎是一样的(我尝试重新编译我之前编译过的旧代码),但是我不确定 att.com pkg 做了什么。 (如果重要的话,我有 OS X 10.8.2 和 XCode 4.2)。

最佳答案

这取决于其他 gfortran 安装程序的去向。一般来说,不会,不会冲突。 * Homebrew 旨在与第三方 gfortran 安装兼容 - 它定义了对通用“fortran”编译器的依赖性,而不是对特定 gfortran Homebrew 公式的依赖性。 Homebrew 保留在/usr/local 下,将主要安装粘贴在/usr/local/Cellar 中,并明智地符号链接(symbolic link)到/usr/local/lib。安装到/usr/local 的其他安装程序只会阻止 Homebrew 链接它自己的编译器,但会与其他使用 fortran 编译器的公式一起工作。 (假设 gfortran 构建选项兼容。)

您链接到的特定 gcc-42 安装程序安装到 /usr,而不是 /usr/local。** 其二进制文件以“-4.2”为后缀;也就是说,它会安装 cpp-4.2g++-4.2gfortran-4.2 等。所以 a) 与 Homebrew gfortran 没有直接冲突,并且 b) 它不会直接隐藏 Homebrew 安装的 /usr/local/bin/gfortran

安装了这两个 gfortrans 的编译器会选择哪个编译器将取决于构建的工作方式,但大多数人会寻找普通的 gfortran,因此会找到 Homebrew 编译器,除非您明确将他们定向到 AT&T 提供的电话。你没有具体说明你是如何构建东西的,但由于你使用的是 brew,我假设它是通过 brew 或命令行工具,在这种情况下我认为他们都可能看到Homebrew gfortran 并忽略这个。查看他们的构建过程的详细输出,以确定答案。


*当然取决于您所说的“冲突”是什么意思。

**旁注:据我所知,没有简单的方法可以通过查看包或安装管理器来解决这个问题。我只是在运行该安装程序之前和之后做了一个 find/usr,并对输出做了一个 diff:

$ diff usr_before_any_installs.txt usr_after_att_install.txt | grep '^[<>]'
> /usr/bin/c++-4.2
> /usr/bin/cpp-4.2
> /usr/bin/g++-4.2
> /usr/bin/gcc-4.2
> /usr/bin/gfortran-4.2
> /usr/bin/i686-apple-darwin11-cpp-4.2.1
> /usr/bin/i686-apple-darwin11-g++-4.2.1
> /usr/bin/i686-apple-darwin11-gcc-4.2.1
> /usr/bin/i686-apple-darwin11-gfortran-4.2.1
> /usr/include/gcc
> /usr/include/gcc/darwin
> /usr/include/gcc/darwin/4.2
...

关于osx-mountain-lion - 使用 Homebrew 软件和安装程序安装 gfortran 会产生冲突吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14222930/

相关文章:

xcode - 为较旧的 OS X 版本编译应用程序

c++ - 避免在 Mac-OSX 上的 mpirun 中接受传入网络连接对话框

opencv - brew 链接 jpeg 问题

java - r - 使用 Java 9 在 macOS High Sierra 上安装 rJava

fortran - GNU Fortran - 控制符号大小写

fortran - 零大小的数组和数组边界检查

Fortran:管道到程序

objective-c - Mac OS X Facebook 登录失败 - 没有存储应用程序的 remote_app_id

imagemagick - 在 Mountain Lion 上安装 ImageMagick 和 rmagick 的问题

opencv - 无法安装虚拟python环境