No se puede obtener la funcionalidad de MacPort después de instalar Xcode 4.3
osx-lion xcode4.3 (17)
Tengo problemas para que los MacPorts funcionen correctamente. Acabo de instalar OSX Lion 10.7.3. Primero descargué e instalé MacPorts, y luego de leer los requisitos, descargué Xcode4.3 de App Store y luego lo instalé. Lancé Xcode y parece ser operativo y funcional. Sin embargo, cuando intenté portar con MacPorts, me dio este mensaje de error (extracto):
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
Seguí el consejo de:
¿Cómo instalo paquetes adicionales para Xcode en OSX Lion para permitir que los MacPorts funcionen?
e instaló command_line_tools_for_xcode desde las Preferencias dentro de Xcode. Cerré Xcode y de nuevo obtuve los errores:
$ 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.
No estoy seguro de a dónde ir después con esto. ¿Cómo tengo problemas para disparar mi interfaz Xcode y MacPort?
A partir del 27/2/2012, la sugerencia oficial de MacPorts parece ser no utilizar XCode 4.3 y en su lugar usar 4.1 a 4.2.1, que se puede descargar desde Apple.
Hay un error que podría ser útil para seguir la evolución de esto.
Por cierto, y como se informa en mi comentario n. ° 11 en ese informe de fallas, puedo construir puertos sin advertencias usando las 2 sugerencias más sensatas que se encuentran en esta pregunta: sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
y cambiando el directorio_desarrollo en /opt/local/etc/macports/macports.conf a /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
Aquí hay una solución que me ha funcionado:
Instalar herramientas de línea de comandos para Xcode
Xcode -> Preferences -> Downloads
Ayuda a MacPorts a encontrar la carpeta correcta de Xcode
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
Crear enlaces simbólicos para compiladores clang ya que ahora viven en otro lado
sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/ sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/
Comenzando con Xcode 4.3, las herramientas de compilación de la línea de comandos no están instaladas por defecto. Inicie Xcode, abra las Preferencias y vaya a la pestaña Descargas. A partir de ahí, debe tener la opción de instalar las herramientas de línea de comandos.
También puede descargarlos de la web aquí: https://developer.apple.com/downloads/index.action
Descargo de responsabilidad: aún no he instalado Xcode 4.3. Solo he leído sobre esto en la web.
Como alternativa: puede hacer una degradación de Xcode a la versión 4.2.1. DMG de Xcode 4.2.1 colocado aquí: https://developer.apple.com/downloads/index.action
Después de que esto MacPorts se convirtió funciona bien para mí.
Consulte las instrucciones de migración de MacPorts para Xcode 4.3 .
Las instrucciones son bastante complicadas. Necesita ejecutar xcode-select
para establecer una nueva ruta de herramientas, actualizar el macports.conf
en macports.conf
(como lo describe Henk Poley ), reinstalar MacPorts (ouch) y finalmente desinstalar y reinstalar todos sus puertos (doble ouch )
Editar: libpvx
aún no se instalará después de lo anterior. Se requieren dos pasos adicionales:
-
sudo ln -s /Developer /
-
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
¡YMMV si tiene diferentes puertos instalados!
Definitivamente debe ejecutar sudo xcode-select -switch /Applications/Xcode.app
como todo el mundo dice aquí, eso solucionará muchos problemas, pero ciertamente no todos.
Afaik, todos los problemas restantes existen dentro de la información de configuración para varios paquetes. Puede simplemente reinstalar MacPorts como se describe en las instrucciones de migración , pero encontré otra solución.
Debería comenzar a buscar todos los archivos portuarios afectados usando comandos como grep /Developer/ ...
, después de ejecutar sudo bash
y cd /opt/local
forma natural.
Debería identificar todos los puertos afectados utilizando port provides ...
, que canalicé sed
y sort | uniq
sort | uniq
. Simplemente puede reinstalar todos estos puertos usando port -n upgrade --force ...
o comandos separados de port uninstall ...
e port install ...
Recomiendo usar un port -n upgrade --force ...
grande port -n upgrade --force ...
para evitar reconstrucciones duplicadas de dependencias, usando los comandos de desinstalación e instalación por separado después.
Por supuesto, hay varios puertos para los que /Developer
solo existe dentro de los archivos de configuración de texto, lo que significa que puede solucionarlos manualmente con sed -i -e ''s///Developer//g'' ...
, pero no puede hacerlo con binarios. obviamente.
Me temo que debe como mínimo reconstruir todas sus instalaciones de Python y Perl, por lo que esta actualización es un momento ideal para limpiar paquetes que dependen de versiones anteriores, como python26
y perl5.8
.
Hay varios puertos técnicamente afectados que decidí no reconstruir como fuse4x-kext
, que contenía /Developer
dentro de Library/Extensions/fuse4x.kext/Contents/MacOS/fuse4x
pero no impidió que sshfs
funcione correctamente.
Después
sudo xcode-select -switch /Applications/Xcode.app
También tuve que correr
sudo xcodebuild -license
y acepta la licencia
En teoría, esto debería funcionar si tiene instalado Xcode4.3 (en / Aplicaciones):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(Y ha instalado las herramientas de línea de comando opcionales)
Establecer la ruta del desarrollador en /opt/local/etc/macports.conf me funciona,
developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
ya que la mayoría de los compiladores se almacenan ahora en lugar de / usr / bin en Developer.
Esto está arreglado en MacPorts 2.0.4.
Para actualizar:
- Descargue MacPorts 2.0.4 del sitio de instalación o ejecute
sudo port selfupdate
. - Ejecute la migración de MacPorts que se describe aquí para volver a instalar todos los puertos. Esto es doloroso, pero es necesario para volver a un estado de trabajo.
Inicialmente había instalado xcode 3.2.2, después de lo cual instalé 4.3. Cuando ejecuté xcode-select, todavía tengo el mismo error sobre ningún proyecto de xcode en / Applications. Luego busqué en el script / usr / bin / xcodebuild y descubrí que esto estaba funcionando correctamente, y se estaba ejecutando otra instancia de xcodebuild (la instalada con xcode 4.3, no la de / usr / bin) y devolviendo el error :
xcodebuild: error: el directorio / Aplicaciones no contiene un proyecto de Xcode.
Parece que / usr / bin / xcode-select no funciona para xcode 4.3, (está compilado, por lo que no se puede ver por qué no funciona). Strings no da ninguna pista. Lo bueno es que osx tiene strace ... oh espera.
De todos modos, lo mejor que pude hacer fue modificar /opt/local/etc/macports.conf y descomentar la línea que contiene la ruta a la instalación de xcode. Eso parece solucionar mi problema en su mayor parte.
Intenta usar trunk, todavía no hay versión compatible con Xcode 4.3.
Nada de esto funciona para mí. Espere a que macports publique una nueva versión que sea compatible oficialmente con XCode 4.3+
También en /opt/local/etc/macports/macports.conf
cambie la línea con developer_dir
para que apunte a /
lugar de /Developer
.
Tengo macports instalados sin privilegios de administrador / raíz, por lo que no pude probar las respuestas xcode-select. Sin embargo, observé que la respuesta de Pall Melsted funcionó, pero no al principio. ¡Lo que descubrí fue que no había aceptado el acuerdo de licencia de Xcode 4.5 !
Si acaba de instalar Xcode a los efectos de macports, y aún no ha aceptado la licencia de Xcode, es posible que obtenga el error presentado por la publicación original. Cuando revisé mi versión de Xcode usando /usr/bin/xcodebuild -version
, me dieron el aviso para leer y aceptar la licencia. Después de hacerlo, y después de haber realizado los cambios sugeridos por Pall al macports.conf
developer_dir
, todo funciona ahora.
Todo comenzará a funcionar bien después de la instalación del paquete "Herramientas de línea de comandos para Xcode". Puede obtenerlo desde aquí: https://developer.apple.com/downloads/index.action#
sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild