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

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

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

Спасибо!

Ответ 1

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

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

будет установлен с использованием версии brew gcc

Ответ 2

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')

Это работало для меня на льве. Удачи.

Ответ 3

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

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

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

Ответ 4

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

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