Использование Homebrew с альтернативным GCC - PullRequest
12 голосов
/ 08 февраля 2012

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

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

Спасибо!

Ответы [ 4 ]

18 голосов
/ 14 февраля 2012

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

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

18 голосов
/ 01 февраля 2014

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

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

$ HOMEBREW_CC=gcc-4.2 HOMEBREW_CXX=g++-4.2 brew install ice
7 голосов
/ 11 ноября 2016

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

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

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

brew
2 голосов
/ 10 февраля 2012

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

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

...