5

Я скомпилировал GCC 4.4.3 и установил его в /usr /local /bin, но всякий раз, когда я устанавливаю порт через MacPorts 1.8.2, подробный вывод говорит, что MacPorts использует /usr/bin/gcc-4.2:

проверка на gcc ... /usr/bin/gcc-4.2

Как заставить MacPorts найти свой собственный GCC 4.4.3? Вот мой существующий путь:

/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/lib:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

Я использую Mac OS X 10.6.2 Snow Leopard.

3 ответа3

7

MacPorts использует поставляемые Apple компиляторы везде, где это возможно, так как они очень исправлены для платформы. Например, они позволяют создавать несколько архитектур, указав флаги -arch, что невозможно с FSF gcc.

Если вы измените символические ссылки в /usr /bin /cc, MacPorts все равно попытается использовать флаги, понятные только для версии Apple. Это может сделать невозможным компиляцию чего-либо с использованием MacPorts.

Просто верьте разработчикам MacPorts, что использование предоставленных Apple компиляторов - лучший способ.

7

Установите переменную configure.compiler в Portfile соответствующим образом:

configure.compiler    macports-gcc-4.3

или добавьте configure.compiler = macports-gcc-4.3 к вашей команде.

ср эта вики-страница

2

Первый ответ: не надо! По моему опыту, GCC 4.4.3 не будет работать должным образом на Snow Leopard. Это вызовет проблемы со строками нулевой длины.

Второй ответ: отредактируйте ваши символические ссылки в /usr /bin для ссылки на материал 4.4. Вот скрипт, который я написал для этого:

rm /usr/bin/c++ 
ln -s /usr/bin/c++-${1} /usr/bin/c++
rm /usr/bin/cc
ln -s /usr/bin/cc-${1} /usr/bin/cc
rm /usr/bin/cpp
ln -s /usr/bin/cpp-${1} /usr/bin/cpp
rm /usr/bin/g++
ln -s /usr/bin/g++-${1} /usr/bin/g++
rm /usr/bin/gcc
ln -s /usr/bin/gcc-${1} /usr/bin/gcc
rm /usr/bin/gcov
ln -s /usr/bin/gcov-${1} /usr/bin/gcov

Я назвал его chgCver, поэтому чтобы изменить компилятор на 4.4, я бы chgCver 4.4 . Конечно, прежде чем запускать это, вам также нужно убедиться, что, например, c++- 4.4 указывает на правильное место (вероятно, /opt/local/bin/gcc-mp-4.4) и т.д. Я могу дать Вам больше подробностей, если вы склонны игнорировать мои первый и третий ответы.

Третий ответ: не надо! (Смотрите первый ответ.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .