gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 15:00:25 28 4
gpt4 key购买 nike

我正在按照在线教程使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com