xcode osx-lion xcode4.3 macports

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:

  1. Instalar herramientas de línea de comandos para Xcode

    Xcode -> Preferences -> Downloads

  2. Ayuda a MacPorts a encontrar la carpeta correcta de Xcode

    sudo /usr/bin/xcode-select -switch /Applications/Xcode.app

  3. 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.



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:

  1. sudo ln -s /Developer /
  2. 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:

  1. Descargue MacPorts 2.0.4 del sitio de instalación o ejecute sudo port selfupdate .
  2. 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.



sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild