./configure не может найти компилятор C после установки OS X Lion

В то время как cc и gcc находятся на правильном пути (/Developer/usr/bin в OS X Lion), запуск ./configure пытается скомпилировать его по жестко запрограммированному (я думаю) пути - /usr/bin.

Где я могу настроить пути конфигурации?


person Tomer Lichtash    schedule 22.07.2011    source источник
comment
Вы пробовали export CC=/Developer/usr/bin/whatever   -  person user606723    schedule 22.07.2011
comment
Вы обновились до Xcode 4.1 или более поздней версии?   -  person user57368    schedule 22.07.2011
comment
После обновления Xcode у меня такая же проблема. Я заметил, что /Developer/About Xcode.pdf говорит UNIX Development. Инструменты командной строки, используемые для разработки на базе UNIX. Его компоненты всегда размещаются в /usr — за раз устанавливается только одна версия.   -  person njamesp    schedule 23.07.2011


Ответы (6)


Правильный ответ — установить Xcode 4 из App Store (бесплатно), а затем запустить /Applications/Install Xcode.app. Тогда все, что вам нужно, будет в /usr/.

person njamesp    schedule 22.07.2011
comment
Проблема в том, что я уже установил Xcode 4 из AppStore. Пришлось сделать символическую ссылку /Developer/usr/bin/cc на /usr/bin; но все равно ./configure ломается. - person Tomer Lichtash; 30.07.2011
comment
Как указал njamesp, существует два требования. (1) Установите Xcode 4 из App Store (что, как вы сказали, вы сделали). (2) Запустите /Applications/Install Xcode.app. У меня была точно такая же проблема, как и у вас, пока я не сделал оба из этих вещей. - person Brian Clapper; 03.08.2011
comment
@mivk Совсем не так. У меня есть Apple ID, полностью рабочий, без привязанной кредитной карты. - person Trezoid; 14.12.2011
comment
@Trezoid: это также может зависеть от того, из какой страны вы заходите на сайт и / или какой файл вы хотите загрузить. Я думаю, что мог бы использовать Xcode 3 без добавления CC к моему идентификатору, но не Xcode 4. - person mivk; 06.01.2012
comment
Я нашел небольшое изменение предложения njamesp (я использую Xcode 4.3). После установки и запуска Xcode перейдите в Xcode -> Настройки -> Загрузки и установите инструменты командной строки. gcc будет находиться в /usr/bin/gcc с символической ссылкой на llvm-gcc-4.2. - person sho222; 01.03.2012

Лучше всего загрузить и установить новый пакет инструментов разработчика командной строки от Apple, который предоставляет вам ваши инструменты в /usr/bin вместе с библиотеками в нужном месте и документацией (например, справочными страницами). Либо найдите его на сайте developer.apple.com, либо проверьте здесь подробности и ссылка.

person Craig B.    schedule 22.02.2012
comment
Или вы можете зайти в Xcode > «Настройки» > «Загрузки» и нажать «Установить» сразу после инструментов командной строки. - person iBobo; 06.03.2012

Я только что столкнулся с этим... Я "решил" это, просто установив пакет XCode "Инструменты командной строки"

Но по какой-то причине невозможно (по крайней мере, для меня) получить доступ к тому же окну настроек, когда проект открыт. Я должен был сделать следующее

  • Закройте XCode (если работает)
  • Запустите XCode (пока не открывайте проект)
  • Нажмите Command+,
  • Go to Downloads
  • Нажмите на install
person dualed    schedule 27.07.2012

нджамесп правильно; правильное решение вашей проблемы - правильно установить цепочку инструментов компилятора. Но на вопрос Где настроить пути configure? есть несколько решений.

  1. Передайте его для настройки в качестве параметра командной строки: /path/to/configure CC=/p/a/t/h

  2. (Устаревшая оболочка) Передать в среду: CC=/p/a/t/h /p/t/configure

  3. (Устаревший-csh) env CC=/p/a/t/h /p/t/configure

  4. настроить config.site. Поместите CONFIG_SITE в свою среду в качестве пути к файлу (например, экспортируйте CONFIG_SITE=$HOME/config.site), поместите CC=/p/a/t/h в этот файл.

  5. поместите CC=/p/a/t/h в /usr/local/share/config.site

Все это предполагает, что ваш скрипт configure был сгенерирован autoconf. Варианты 2 и 3 не рекомендуются, но если ваш скрипт configure устарел, вариант 1 может не сработать. Вариант 5 является гибким, и вы можете использовать разные config.sites в зависимости от префикса. $prefix/share/config.site можно использовать для установки опций для проектов, установленных в $prefix.

person William Pursell    schedule 23.07.2011

Пункт 1 правильный: я только что сделал то же самое.

Установите XCODE Запустите XCODE Нажмите Xcode Выберите «Настройки» Нажмите «Загрузки» на панели настроек XCode Нажмите «Инструменты командной строки» и нажмите «Установить».

Компиляторы устанавливаются в /usr/bin

cd и введите "gcc -v" (без кавычек), и вы должны получить следующее:

$ gcc -v
Using built-in specs.
Target: i686-apple-darwin11
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/src/configure --disable-checking --enable-werror --prefix=/Applications/Xcode.app/Contents/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.11~67/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)
$ 
person alevanpa    schedule 18.01.2013

Недавно я установил OSX Mavericks и хотел перейти на php 5.5.5 и столкнулся с аналогичной проблемой.

[user@host /path/to/php5.5.5_src]$ ./configure
checking for cc... cc
checking whether the C compiler works... no

Глядя на мой путь включения, я заметил, что был добавлен только базовый путь Xcode (у меня Xcode 5)

[user@host ~]$ cat /etc/paths
/usr/bin
/Applications/Xcode.app/Contents/Developer/usr/bin
/bin
...

Все, что мне нужно было сделать, это добавить путь к Toolchains

[user@host ~]$ sudo vi /etc/paths
/usr/bin
/Applications/Xcode.app/Contents/Developer/usr/bin
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
/bin
...

И вуаля, нашла.

[user@host /path/to/php5.5.5_src]$ ./configure
checking for cc... cc
checking whether the C compiler works... yes

Надеюсь это поможет.

person AlphaZygma    schedule 31.10.2013