Ответ 1
В теории это должно работать, если у вас установлен Xcode4.3 (в/Приложения):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(И вы установили необязательные инструменты командной строки)
У меня возникают проблемы с тем, что MacPorts функционирует должным образом. Я только что установил OSX Lion 10.7.3. Сначала я загрузил и установил MacPort, а затем, прочитав требования, загрузил Xcode4.3 из App Store и установил его. Я запустил Xcode, и он выглядит работоспособным и функциональным. Однако, когда я попытался выполнить перенос с помощью MacPorts, он дал мне это сообщение об ошибке (выдержка):
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
Я последовал совету:
Как установить дополнительные пакеты для Xcode на OSX Lion, чтобы позволить MacPorts работать
и установил command_line_tools_for_xcode из настроек в Xcode. Я закрыл Xcode и снова получил ошибки:
$ sudo port install libsocketsPassword:
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
---> Computing dependencies for libsockets
---> Dependencies to be installed: openssl zlib
---> Extracting zlib
Error: Couldn't determine your Xcode version (from '/usr/bin/xcodebuild -version').
Error:
Error: If you have not installed Xcode, install it now; see:
Error: http://guide.macports.org/chunked/installing.xcode.html
Error:
Error: Target org.macports.extract returned: unable to find Xcode
Error: Failed to install zlib
Log for zlib is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_archivers_zlib/zlib/main.log
Error: The following dependencies were not installed: openssl zlib
Error: Status 1 encountered during processing.
Я не уверен, куда идти дальше. Как я могу устранить проблемы с интерфейсом Xcode и MacPort?
В теории это должно работать, если у вас установлен Xcode4.3 (в/Приложения):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(И вы установили необязательные инструменты командной строки)
Все начнет работать нормально после установки пакета "Command Line Tools for Xcode". Вы можете получить его отсюда: https://developer.apple.com/downloads/index.action#
См. Инструкции по переносу MacPorts для Xcode 4.3.
Инструкции очень привлекательны. Вам нужно запустить xcode-select
, чтобы установить новый путь к инструментам, обновить developer_dir
в macports.conf
(как описано Henk Poley), переустановить MacPorts (ouch), и, наконец, удалите и переустановите все порты (double ouch).
Изменить: libpvx
по-прежнему не будет установлено после указанного выше. Требуются два дополнительных шага:
sudo ln -s /Developer /
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
YMMV, если у вас установлены разные порты!
Также в /opt/local/etc/macports/macports.conf
измените строку с помощью developer_dir
, чтобы указать на /
вместо /Developer
.
После
sudo xcode-select -switch /Applications/Xcode.app
Мне также пришлось запускать
sudo xcodebuild -license
и принять лицензию
Вот решение, которое сработало для меня:
Установите средства командной строки для Xcode
Xcode -> Preferences -> Downloads
Справка MacPorts находит нужную папку Xcode
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
Создайте символические ссылки для компиляторов clang, поскольку они теперь живут в другом месте
sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/
sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/
Попробуйте использовать соединительную линию, там еще нет версии поддержки Xcode 4.3.
Настройка пути разработчика в /opt/local/etc/macports.conf работает для меня,
developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
поскольку большинство компиляторов теперь там хранятся вместо /usr/bin под Developer.
Ничто из этого не работает для меня. Подождите, пока macports выпустит новую версию, которая официально поддерживает XCode 4.3 +
sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild
Начиная с Xcode 4.3, инструменты построения командной строки не установлены по умолчанию. Запустите Xcode, откройте "Настройки" и перейдите на вкладку "Загрузки". Оттуда у вас должна быть возможность установить инструменты командной строки.
Вы также можете скачать их из Интернета здесь: https://developer.apple.com/downloads/index.action
Отказ от ответственности: я еще не установил Xcode 4.3. Я только читал об этом в Интернете.
По состоянию на 27/22/2012 официальное предложение от MacPorts, похоже, не должно использовать XCode 4.3 и вместо этого использовать от 4.1 до 4.2. 1, который можно загрузить с Apple.
Существует биг-код, который может быть полезен для отслеживания эволюции этого.
Кстати, и как сообщается в моем комментарии № 11 в этом отчете об ошибке, я am умею строить порты без предупреждений, используя 2 наиболее здравомыслящих предложения, найденных в этом вопросе: sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
и изменение developer_dir
в /opt/local/etc/macports/macports.conf на /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
У меня есть macports, установленный без прав администратора /root, поэтому я не смог проверить ответы на выбор xcode. Однако я заметил, что ответ Палла Мелстида работал, но не изначально. Я узнал, что я не принял лицензионное соглашение Xcode 4.5!
Если вы только что установили Xcode для целей macports, и вы еще не приняли лицензию Xcode, вы можете получить ошибку, представленную исходным сообщением. Когда я проверил версию Xcode с помощью /usr/bin/xcodebuild -version
, мне было предложено прочитать и принять лицензию. После этого и после внесения изменений, предложенных Pall, в macports.conf
developer_dir
, все это работает сейчас.
В качестве альтернативы: вы можете понизить версию Xcode до версии 4.2.1. DMG Xcode 4.2.1: https://developer.apple.com/downloads/index.action
После этого MacPorts стал для меня прекрасным.
Это исправлено в MacPorts 2.0.4.
Для обновления:
sudo port selfupdate
.Вы должны определенно запустить sudo xcode-select -switch /Applications/Xcode.app
, как говорят все здесь, что устранит многие проблемы, но, конечно, не все.
Afaik, все остальные проблемы существуют в информации конфигурации для различных пакетов. Вы можете просто переустановить MacPorts, как описано в инструкции по миграции, но я нашел другое решение.
Вы должны начать поиск всех обработанных файлов портов с помощью команд типа grep /Developer/ ...
, после выполнения sudo bash
и cd /opt/local
, естественно.
Вы должны идентифицировать все обработанные порты, используя port provides ...
, который я пропустил через sed
и sort | uniq
. Вы можете просто переустановить все эти порты, используя команды port -n upgrade --force ...
или отдельные команды port uninstall ...
и port install ...
.
Я рекомендую использовать одну большую команду port -n upgrade --force ...
, чтобы избежать дублирования перестроек зависимостей, используя впоследствии отдельные команды удаления и установки.
Существуют, конечно, разные порты, для которых /Developer
существует только внутри текстовых файлов конфигурации, то есть вы можете исправить их вручную с помощью sed -i -e 's/\/Developer//g' ...
, но вы не можете сделать это с помощью двоичных файлов.
Я боюсь, что вы должны, как минимум, перестроить все свои установки на Python и Perl, сделав это обновление идеальным временем для очистки пакетов, которые зависят от более старых версий, ala python26
и perl5.8
.
Есть несколько технически осуществленных портов, которые я решил не перестраивать, как fuse4x-kext
, которые содержали /Developer
внутри Library/Extensions/fuse4x.kext/Contents/MacOS/fuse4x
, но не предотвратили корректную работу sshfs
.
Я изначально установил xcode 3.2.2, после чего я установил 4.3. Когда я запустил xcode-select, я все равно получил ту же ошибку, что и проект xcode в /Applications. Затем я вырыл в /usr/bin/xcodebuild script и выяснил, что он работает правильно, и запускался еще один экземпляр xcodebuild (тот, который был установлен с xcode 4.3, а не тот, который был в /usr/bin ) ошибка:
xcodebuild: error: Каталог/Приложения не содержит проект Xcode.
Кажется, что /usr/bin/xcode -select не работает для xcode 4.3 (он скомпилирован, поэтому вы не можете понять, почему он не работает). Строки не дают никаких подсказок. Хорошая вещь osx имеет strace.. о, подождите.
В любом случае, лучшее, что я мог сделать, это изменить /opt/local/etc/macports.conf и раскомментируйте строку, содержащую путь к установке xcode. Похоже, что я исправляю свою проблему по большей части.