Использование Homebrew с альтернативным GCC

Я установил gcc-4.6 с помощью homebrew-alternatives gcc формула, но я не могу заставить ее использовать этот GCC для установки других формул. В частности, Open-MPI и boost.

кто-нибудь знает, как заставить Homebrew использовать этот новый компилятор?

спасибо!

4 ответов


эти ответы все довольно старые. Похоже, что последние версии homebrew имеют опцию '--cc', которая позволяет выбрать компилятор c для использования. Например

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

будет установлен с помощью пивоваренной версии gcc


Homebrew не может адаптироваться к другим версиям gcc с помощью параметров командной строки. Однако вы можете легко переопределить старый компилятор, если отредактируете формулу open-mpi и boost. Например, вы можете добавить несколько команд после "Def install" в open-mpi.rb:

  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. Удача.


похоже, что последние версии Homebrew теперь поддерживают HOMEBREW_CC и HOMEBREW_CXX переменные среды.

Итак, теперь вы можете сделать следующее:

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

с их wiki похоже, что они не поддерживают другие компиляторы:

установка пользовательской версии GCC или autotools в $PATH может нарушить множество компиляций. Поэтому мы придерживаемся компиляторов, предоставляемых Apple.