Компилятор GNU GCC 4.6 (.1) в Mac OS X Lion - PullRequest
4 голосов
/ 07 сентября 2011

Довольно новый для такого рода развития.Хотите знать, если кто-нибудь может указать мне в правильном направлении.Насколько я вижу, использование MacPorts приводит к ошибке, которая не работает.Тем не менее, я читал вокруг и увидел это: http://beardedcodewarrior.net/2011/07/25/building-gcc-4-6-1-on-mac-os-x-lion/, но все еще не мог заставить его работать.Когда я выполнил команду make для gcc, для ее завершения потребовалось более 3 часов, а затем после выполнения sudo make install он завершился успешно, но при попытке выполнить gcc --version по-прежнему отображается версия gcc 4.2.1 (на основе сборки Apple Inc.5658) (LLVM сборка 2335.15.00).Мне нужна версия 4.6.1!

1 Ответ

3 голосов
/ 07 сентября 2011

Существует три вероятные возможности:

  1. Он установлен правильно и вошел в каталог в вашем $PATH раньше, чем ваша предыдущая установка GCC, но запись внутренней хэш-таблицы Bash по-прежнему указывает на старуюGCC.
  2. Он установлен правильно, но вошел в каталог в вашей $PATH позже, чем предыдущая установка GCC.
  3. In установлен правильно, но исполняемый файл не назван gcc.

Если # 1, просто запустите команду hash -r и попробуйте снова.Чтобы избежать частых поисков $PATH, Bash использует хеш-таблицу для сопоставления исполняемых имен с исполняемыми местоположениями.Когда вы устанавливаете новый исполняемый файл ранее в $PATH с тем же именем, что и позже в $PATH, Bash об этом не знает.Запуск hash -r говорит "очистить вашу хеш-таблицу".В качестве альтернативы, вы можете просто запустить hash -d gcc, чтобы сказать «забудьте о gcc в вашей хэш-таблице».

Если # 2, то вам нужно либо выполнить gcc по его полному имени (например, /opt/local/bin/gcc), либоизмените ваш $PATH так, чтобы каталог, содержащий новый gcc, был раньше, чем каталог вашего существующего gcc.Предполагая, что вы установили MacPorts нормально, это уже должно быть сделано для вас - MacPorts помещает /opt/local/bin раньше в $PATH, чем /usr/bin, изменяя файл запуска ~/.bash_profile.

Если # 3, тогда рисунокиз какого имени был дан исполняемый файл.Ему почти наверняка дали имя с префиксом gcc, поэтому, если вы наберете gcc, а затем дважды нажмете клавишу tab, Bash выдаст вам список всех команд, начинающихся с gcc.Вполне вероятно, что ему дали имя likw gcc-4.6 или gcc-mp-4.6.

...