【问题标题】:Using Homebrew with alternate GCC将 Homebrew 与备用 GCC 一起使用
【发布时间】:2012-02-29 10:59:36
【问题描述】:

我已经使用homebrew-alternatives gcc 公式安装了gcc-4.6,但我似乎无法让它使用该GCC 来安装其他公式。特别是 Open-MPI 和 boost。

有谁知道如何让 Homebrew 使用这个新的编译器?

谢谢!

【问题讨论】:

    标签: macos gcc homebrew


    【解决方案1】:

    Homebrew 无法使用命令行选项适应其他版本的 gcc。但是,如果您编辑 open-mpi 和 boost 公式,您可以轻松地覆盖旧编译器。例如,可以在 open-mpi.rb 中的“def install”后添加几条命令:

      def install
        # Force compilation with gcc-4.6
        ENV['CC'] = '/usr/local/bin/gcc-4.6'
        ENV['LD'] = '/usr/local/bin/gcc-4.6'
        ENV['CXX'] = '/usr/local/bin/g++-4.6'
    
        # Compiler complains about link compatibility with FORTRAN otherwise
        ENV.delete('CFLAGS')
        ENV.delete('CXXFLAGS')
    

    这在 Lion 上对我有用。祝你好运。

    【讨论】:

    • 谢谢!这听起来几乎正是我想要的......我试图从命令行设置 CC 和 CXX,但显然 brew 会杀死环境。
    【解决方案2】:

    看起来最新版本的 Homebrew 现在支持 HOMEBREW_CCHOMEBREW_CXX 环境变量。

    所以现在您可以执行以下操作:

    $ HOMEBREW_CC=gcc-4.2 HOMEBREW_CXX=g++-4.2 brew install ice
    

    【讨论】:

    • 谢谢!这太棒了。
    • 为我工作! HOMEBREW_CC=gcc-4.5 HOMEBREW_CXX=g++-4.5 brew install sfcgal
    • 为什么我不能HOMEBREW_CC=gcc-4.9 HOMEBREW_CXX=g++-4.9 brew install openmpi
    【解决方案3】:

    这些答案现在都相当老了。似乎最近版本的自制软件有一个“--cc”选项,可以让您选择要使用的 c 编译器。例如

    brew install --cc=gcc-6 <package-name>
    

    将使用 brew 版本的 gcc 进行安装

    【讨论】:

      【解决方案4】:

      来自their wiki,听起来他们不支持其他编译器:

      将自定义版本的 GCC 或 autotools 安装到 $PATH 可能会破坏大量编译。所以我们坚持使用 Apple 提供的编译器。

      【讨论】:

        猜你喜欢
        • 2011-01-23
        • 2023-04-10
        • 2014-02-02
        • 2019-07-19
        • 2017-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多