Я использую исключительно Homebrew (т.е. я не использую и не буду использовать MacPorts или Fink). Я также хочу свести ручные установки к минимуму. 1
... Но как я могу установить GCC?
Прежде всего, я, конечно, установил Xcode, но текущая версия не поставляется с прилично обновленной GCC (мне нужно как минимум 4.5, но я бы предпочел самую последнюю) - на самом деле, она не поставляется с надлежащим GCC вообще (он только отправляет Clang), и это, кажется, проблема для Homebrew ...
Мне известен список пользовательских GCC и кросс-компиляторов, но на самом деле для всех этих установок требуется уже установленный GCC - по крайней мере, при brew
их сбое возникают ошибки компоновщика на Lion, которые я приписываю Clang, и -use-gcc
не работает очевидным образом причины.
brew doctor
упоминает только то, что я уже знаю, что GCC (4.2.x) не установлен.
1 Раньше я смешивал MacPorts, Homebrew и некоторые ручные установки и закончил адом обслуживания и управления версиями. Я не хочу идти туда снова.
gcc --version
? Я получаю,i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
и я просто установил Xcode от MAS. И что на выходеecho $PATH
?$PATH
обычно (это почти пустая система, в конце концов):/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
… но я не думаю, что это имеет значение. Формулы, предоставленные homebrew-alt, просто устарели и не работают с Clang.Ответы:
Решение , предлагаемое @Konrad Rudolph не совсем корректно больше , как формула GCC , что он упомянул была перенесена из
homebrew/dupes
вhomebrew/versions
. Вы можете выбрать, какую версию GCC установить. Например, на момент написания этого ответа доступны версии 4.5, 4.7 и 4.8. Вы можете проверить, какие версии доступны здесь .Короче говоря, вы можете установить GCC 4.8, используя
Вы можете просмотреть доступные флаги установки, используя
источник
gcc-4.8 hello.c
gcc-4.8: error trying to exec 'as': execvp: No such file or directory
[flags]
? На моих машинах я установил без каких-либо флагов, и он работает нормально. Почему бы вам не попробовать позвонитьgcc-4.8
без какого-либо входного файла и посмотреть, если вы получаете фатальную ошибку? Также попробуйтеls /usr/local/Cellar/gcc48/4.8.0/bin
и посмотрите, если этот каталог содержитgcc-4.8
.gcc-4.8 --version
работает, но не может быть запущен для вторичного инструмента с именем,as
и поэтому он умирает.alias g++='g++-4.8'
в свой.bashrc
.Доморощенное решение
Чтобы ответить на мой собственный вопрос,
homebrew-versions
теперь есть довольно современная формула GCC . Может быть установлен с помощьюГде
[flags]
должны быть указаны все необходимые языки, например (--enable-cxx --enable-fortran
).Это установит исполняемые файлы с суффиксом, т. Е. Должен
gcc
быть доступен,gcc-version
чтобы избежать конфликтов. При необходимости можно создать соответствующие символические ссылки, чтобы сделать эту версию по умолчанию.Ручная установка
Кроме того , современный GCC (на момент написания) может быть скомпилирован вручную с помощью следующего сценария оболочки:
Это выведет GCC на путь
/usr/gcc-4.7.0
. Теперь все, что вам нужно сделать, это либо создать символические ссылки на исполняемые файлы, либо добавитьbin
каталог в$PATH
переменную.источник
brew tap homebrew/dupes
а затемbrew install apple-gcc42
. Это помогло мне получить работающий GCC и вино. Вы также можете получить двоичные файлы (как это делает homebrew) отсюда: r.research.att.com/toolsbrew tap homebrew/dupes; brew install gcc --use-llvm
, См. Github.com/Homebrew/homebrew-dupes/issues/20Сегодня я видел ссылку на этот старый пост. Лучший способ установить GCC на доморощенный прямо сейчас - это просто
brew install gcc
. Если у вас установлены инструменты командной строки XCode (они отделены от XCode; вы можете установить ихxcode-select --install
), будет установлена предварительно скомпилированная версия (что очень быстро).источник
У меня тоже была эта проблема. Более того, мне нужно использовать gfortran, который не поставляется со стандартной (устаревшей) установкой Mac's llvm-gcc.
Я обнаружил, что сборки gcc для высокопроизводительных вычислений являются современными и прекрасно работают на Lion.
источник
Если кто-то смотрит на эту старую ветку, кажется, что homebrew / версии, использованные в принятом в настоящее время ответе, устарели в пользу homebrew / core . Просто беги
brew install <formula>
.источник
Вы можете попробовать это - https://github.com/kennethreitz/osx-gcc-installer - я успешно использовал его после обновления до Lion для компиляции пакетов с Homebrew и другими (Ruby).
Из прочитанного мной:
Установщик OSX GCC Загрузка и установка массивного установщика XCode - огромная проблема, если вам просто нужен GCC и связанные с ним инструменты.
С помощью osx-gcc-installer вы можете установить необходимые компиляторы из предварительно собранных двоичных пакетов или же создать собственный установщик.
источник
/usr/bin/gcc
является символической ссылкой на llvm gcc, но явная ссылка/usr/bin/gcc-4.2
или настройкаexport CC="gcc-4.2"
в вашем .bash_profile или подходящем файле также смягчает проблему. (См. Также этот вопрос переполнения стека .)