Impossible d'obtenir la fonctionnalité MacPort après l'installation de Xcode 4.3
J'ai du mal à faire fonctionner MacPorts correctement. Je viens d'installer OSX Lion 10.7.3 j'ai d'abord téléchargé et installé MacPorts, puis après avoir lu les exigences, j'ai téléchargé Xcode4.3 de L'App Store, puis l'a installé. J'ai lancé Xcode et il semble être opérationnels et fonctionnels. Cependant, lorsque J'ai essayé de transférer avec MacPorts, il m'a donné ce message d'erreur (extrait):
Warning: xcodebuild exists but failed to execute
Warning: Xcode does not appear to be installed; most ports will likely fail to build.
j'ai suivi le Conseil de:
et installé command_line_tools_for_xcode à partir des préférences dans Xcode. J'ai fermé Xcode, et encore obtenu les erreurs:
$ 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.
Je ne sais pas où aller ensuite avec ça. Comment dépanner mon Xcode et MacPort interface?
17 réponses
en théorie cela devrait fonctionner si vous avez Xcode4.3 installés (dans / Applications):
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
(et vous avez installé les outils optionnels en ligne de commande)
tout commencera à fonctionner correctement après l'installation du paquet" outils en ligne de commande pour Xcode". Vous pouvez l'obtenir d'ici: https://developer.apple.com/downloads/index.action#
veuillez consulter les instructions de migration pour le code x 4.3 .
les instructions sont assez impliquées. Vous devez exécuter xcode-select
pour définir un nouveau chemin d'outils, mettre à jour developer_dir
dans macports.conf
(tel que décrit par Henk Poley ), réinstaller MacPorts (ouch), et finalement désinstaller et réinstaller tous vos ports (double ouch).
Edit: libpvx
still ne pas installer après le ci-dessus. Deux étapes supplémentaires étaient nécessaires:
-
sudo ln -s /Developer /
-
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
YMMV si vous avez des ports différents installé!
également dans /opt/local/etc/macports/macports.conf
changer la ligne avec developer_dir
au point à /
au lieu de /Developer
.
après
sudo xcode-select -switch /Applications/Xcode.app
j'ai également eu à exécuter
sudo xcodebuild -license
et accepter la licence
Voici une solution qui a fonctionné pour moi:
-
installez des outils de ligne de commande pour Xcode
Xcode -> Preferences -> Downloads
-
aide MacPorts pour trouver le bon dossier Xcode
sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
-
Créer des liens symboliques pour clang compilateurs comme aujourd'hui, ils vivent ailleurs
sudo ln -s `which clang` /Applications/Xcode.app/Contents/Developer/usr/bin/ sudo ln -s `which clang++` /Applications/Xcode.app/Contents/Developer/usr/bin/
essayez d'utiliser trunk, il n'y a pas encore de version supportant Xcode 4.3.
définir le chemin du développeur dans /opt/local/etc/macports.conf qui fonctionne pour moi,
developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
puisque la plupart des compilateurs y sont stockés au lieu de /usr/bin sous Developer.
rien de tout cela ne fonctionne pour moi. Attendre que macports publie une nouvelle version qui supporte officiellement 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
à partir de Xcode 4.3, les outils de construction en ligne de commande ne sont pas installés par défaut. Lancez Xcode, ouvrez les préférences, et allez dans L'onglet Téléchargements. De là, vous devriez avoir une option pour installer les outils de ligne de commande.
vous pouvez également les télécharger à partir du web ici: https://developer.apple.com/downloads/index.action
avertissement: je n'ai pas encore installé Xcode 4.3. Je n'ai lu à ce sujet sur le Web.
en date du 27/2/2012, la suggestion officielle de MacPorts semble être de ne pas utiliser le XCode 4.3 et d'utiliser à la place 4.1 à 4.2.1, qui peut être téléchargé à partir D'Apple.
Il y a un bug billet , qui pourrait être utile pour suivre l'évolution de cette.
incidemment, et tel que rapporté dans mon commentaire #11 dans ce rapport de bogue, Je am capable de construire des ports sans avertissements par en utilisant les 2 suggestions les plus saines trouvées dans cette question: sudo /usr/bin/xcode-select -switch /Applications/Xcode.app/Contents/Developer
et en changeant developer_dir
dans /opt/local/etc/macports/macports.conf à /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
j'ai installé macports sans privilèges admin/root, donc je n'ai pas pu tester les réponses xcode-select. Toutefois, J'ai observé que la réponse de Pall Melsted fonctionnait, mais pas au départ. Ce que j'ai découvert, c'est que je n'avais pas accepté le contrat de licence Xcode 4.5 !
si vous venez d'installer Xcode pour les besoins de macports, et que vous n'avez pas encore accepté la licence Xcode, vous pourriez obtenir l'erreur présentée par le message original. Lorsque J'ai vérifié ma version de Xcode en utilisant /usr/bin/xcodebuild -version
, on m'a demandé de lire et d'accepter la licence. Après cela , et après avoir apporté les modifications suggérées par Pall au macports.conf
developer_dir
, tout fonctionne maintenant.
comme alternative: vous pouvez déclasser Xcode en version 4.2.1. DMG de Xcode 4.2.1 placé ici: https://developer.apple.com/downloads/index.action
après ce MacPorts est devenu très bien pour moi.
ceci est fixé dans MacPorts 2.0.4.
à améliorer:
- téléchargez MacPorts 2.0.4 à partir du installez le site ou lancez
sudo port selfupdate
. - exécutez la migration MacPorts décrite ici pour réinstaller tous les ports. C'est douloureux, mais nécessaire pour revenir à un état de fonctionnement.
Vous devriez certainement exécuter sudo xcode-select -switch /Applications/Xcode.app
comme tout le monde ici dit, que vais corriger de nombreux problèmes, mais certainement pas tous.
Afaik, tous les problèmes restants existent dans les informations de configuration pour les différents paquets. Vous pouvez simplement réinstaller MacPorts comme décrit dans les " migration instructions , mais j'ai trouvé une autre solution.
vous devriez commencer à trouver tous les ports touchés fichiers utilisant des commandes comme grep /Developer/ ...
, après avoir exécuté sudo bash
et cd /opt/local
naturellement.
vous devez identifier tous les ports concernés en utilisant port provides ...
, que j'ai pipé par sed
et sort | uniq
. Vous pouvez simplement réinstaller tous ces ports en utilisant les commandes port -n upgrade --force ...
ou port uninstall ...
et port install ...
.
je recommande d'utiliser une grande commande port -n upgrade --force ...
pour éviter les reconstructions en double des dépendances, utiliser ensuite les commandes de désinstallation et d'installation séparées.
il y a bien sûr différents ports pour lesquels /Developer
n'existe que dans les fichiers de configuration texte, ce qui signifie que vous pouvez les corriger manuellement avec sed -i -e 's/\/Developer//g' ...
, mais vous ne pouvez pas le faire avec des binaires évidemment.
je crains que vous ne deviez au minimum reconstruire toutes vos installations Python et Perl, ce qui fait de cette mise à jour un moment idéal pour nettoyer les paquets qui dépendent de versions plus anciennes, ala python26
et perl5.8
.
il y a plusieurs ports techniquement affectés que j'ai décidé de ne pas reconstruire comme fuse4x-kext
, qui contenait /Developer
à l'intérieur de Library/Extensions/fuse4x.kext/Contents/MacOS/fuse4x
mais n'a pas empêché sshfs
de fonctionner correctement.
j'avais initialement installé xcode 3.2.2, après quoi j'ai installé 4.3. Quand j'ai lancé le xcode-select, j'ai toujours eu la même erreur sur Aucun projet xcode dans /Applications. J'ai alors creusé dans le script / usr / bin / xcodebuild et j'ai découvert que cela fonctionnait correctement, et une autre instance de xcodebuild (celle installée avec Xcode 4.3, pas celle dans /usr / bin) était en cours d'exécution et retournait l'erreur:
xcodebuild: erreur: le répertoire / Applications ne contient pas un projet Xcode.
il semble que le /usr/bin/xcode-select ne fonctionne pas pour le Xcode 4.3, (il est compilé de sorte que vous ne pouvez pas vraiment voir pourquoi il ne fonctionne pas). Les ficelles ne donnent aucun indice. Heureusement qu'osx a strace.. oh, attendez.
de toute façon, le mieux que je pouvais faire était de modifier /opt/local/etc/macports.conf et décompressez la ligne contenant le chemin d'accès à l'installation xcode. Qui semble régler mon problème pour la plupart.