web-dev-qa-db-fra.com

Impossible d'obtenir la fonctionnalité MacPort après l'installation de Xcode 4.3

J'ai du mal à faire fonctionner correctement les MacPorts. 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 sur l'App Store, puis je l'ai installé. J'ai lancé Xcode et il semble être opérationnel et fonctionnel. Cependant, lorsque j'ai tenté de porter avec MacPorts, cela 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 les conseils de:

Comment installer des packages supplémentaires pour Xcode sur OSX Lion pour permettre aux MacPorts de fonctionner

et installé command_line_tools_for_xcode à partir des Préférences dans Xcode. J'ai fermé Xcode et j'ai de nouveau eu 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 cela. Comment résoudre les problèmes de mon interface Xcode et MacPort?

62
Jason

En théorie, cela devrait fonctionner si vous avez installé Xcode4.3 (dans/Applications):

$ Sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/

(Et vous avez installé les outils de ligne de commande optionnels)

84
geowar

Tout commencera à bien fonctionner après l'installation du package "Outils de ligne de commande pour Xcode". Vous pouvez l'obtenir à partir d'ici: https://developer.Apple.com/downloads/index.action#

18
Pavel Ferencz

Veuillez consulter les instructions de migration MacPorts pour Xcode 4. .

Les instructions sont assez compliquées. Vous devez exécuter xcode-select pour définir un nouveau chemin d'outils, mettez à jour developer_dir dans macports.conf (comme décrit par Henk Poley ), réinstallez MacPorts (ouch), et enfin désinstallez et réinstallez tous vos ports (double ouch).

Edit: libpvx ne serait toujours pas installé après ce qui précède. Deux étapes supplémentaires ont été nécessaires:

  1. Sudo ln -s /Developer /
  2. Sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs

YMMV si vous avez installé différents ports!

11
gmcnaughton

Aussi dans /opt/local/etc/macports/macports.conf changez la ligne avec developer_dir pour pointer vers / au lieu de /Developer.

10
Henk Poley

Après

Sudo xcode-select -switch /Applications/Xcode.app

J'ai aussi dû courir

Sudo xcodebuild -license

et accepter la licence

5
Greg Allen

Voici une solution qui a fonctionné pour moi:

  1. Installer les outils de ligne de commande pour Xcode

    Xcode -> Preferences -> Downloads
    
  2. Aidez MacPorts à trouver le bon dossier Xcode

    Sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
    
  3. Créez des liens symboliques pour les compilateurs Clang car ils vivent maintenant 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/
    
4
Harish Narayanan
Sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
Sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild 
2
henryse

Essayez d'utiliser trunk, il n'y a pas encore de version prenant en charge Xcode 4.3.

2
Clemens Lang

Définir le chemin du développeur dans /opt/local/etc/macports.conf fonctionne pour moi,

developer_dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain

car la plupart des compilateurs y sont désormais stockés au lieu de/usr/bin sous Developer.

2
Pall Melsted

Rien de tout cela ne fonctionne pour moi. Attendez que macports publie une nouvelle version qui prend officiellement en charge XCode 4.3+

2
Christoph Dwertmann

À partir de Xcode 4.3, les outils de génération de ligne de commande ne sont pas installés par défaut. Lancez Xcode, ouvrez les Préférences et accédez à 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'en ai lu que sur le web.

1
rob mayoff

Au 27/2/2012, le suggestion officielle de MacPorts semble ne pas utiliser XCode 4.3 et utiliser plutôt 4.1 à 4.2.1, qui peut être téléchargé depuis Apple.

Il y a un ticket de bogue qui pourrait être utile pour suivre son évolution.

Par ailleurs, et comme indiqué dans mon commentaire # 11 dans ce rapport de bogue, je suis capable de construire des ports sans avertissements en utilisant les 2 suggestions les plus sensées trouvé 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

1
hmijail

J'ai macports installé sans privilèges d'administrateur/root, donc je n'ai pas pu tester les réponses de xcode-select. Cependant, j'ai observé que la réponse de Pall Melsted a fonctionné, 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 à des fins de macports et que vous n'avez pas encore accepté la licence Xcode, vous pourriez obtenir l'erreur présentée par le message d'origine. Lorsque j'ai vérifié ma version Xcode à l'aide de /usr/bin/xcodebuild -version, J'ai été invité à lire et à accepter la licence. Après cela, et après avoir apporté les modifications suggérées par Pall au macports.confdeveloper_dir, tout fonctionne maintenant.

1
svohara

Ce problème est résolu dans MacPorts 2.0.4.

Mettre à niveau:

  1. Téléchargez MacPorts 2.0.4 depuis le site d'installation ou exécutez Sudo port selfupdate.
  2. Exécutez la migration MacPorts décrite ici pour réinstaller tous les ports. C'est douloureux mais nécessaire pour retrouver un état de fonctionnement.
0
Adam

J'avais initialement installé xcode 3.2.2, après quoi j'ai installé 4.3. Lorsque j'ai exécuté xcode-select, j'ai toujours eu la même erreur à propos de l'absence de projet xcode dans/Applications. J'ai ensuite creusé dans le script/usr/bin/xcodebuild et 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 renvoyait l'erreur :

xcodebuild: erreur: le répertoire/Applications ne contient pas de projet Xcode.

Il semble que/usr/bin/xcode-select ne fonctionne pas pour xcode 4.3, (il est compilé de sorte que vous ne pouvez pas vraiment voir pourquoi cela ne fonctionne pas). Les cordes ne donnent aucun indice. C'est une bonne chose que l'osx ait de la force .. oh attendez.

Quoi qu'il en soit, le mieux que j'ai pu faire était de modifier /opt/local/etc/macports.conf et de décommenter la ligne contenant le chemin d'accès à l'installation de xcode. Cela semble résoudre mon problème pour la plupart.

0
siesta

Vous devez certainement exécuter Sudo xcode-select -switch /Applications/Xcode.app comme tout le monde ici le dit, cela résoudra de nombreux problèmes, mais certainement pas tous.

Afaik, tous les problèmes restants existent dans les informations de configuration pour divers packages. Vous pouvez simplement réinstaller MacPorts comme décrit dans les instructions de migration , mais j'ai trouvé une autre solution.


Vous devez commencer à rechercher tous les fichiers de port affectés à l'aide de commandes telles que grep /Developer/ ..., après avoir exécuté Sudo bash et cd /opt/local naturellement.

Vous devez identifier tous les ports affectés en utilisant port provides ..., que j'ai parcouru sed et sort | uniq. Vous pouvez simplement réinstaller tous ces ports à l'aide de port -n upgrade --force ... ou séparé port uninstall ... et port install ... commandes.

Je recommande d'utiliser un grand port -n upgrade --force ... commande pour éviter les reconstructions en double des dépendances, en utilisant ensuite les commandes de désinstallation et d'installation distinctes.

Il existe bien sûr différents ports pour lesquels /Developer n'existe que dans les fichiers de configuration de texte, ce qui signifie que vous pouvez les corriger manuellement avec sed -i -e 's/\/Developer//g' ..., mais vous ne pouvez évidemment pas le faire avec les binaires.

Je crains que vous ne deviez au moins reconstruire toutes vos installations Python et Perl, faisant de cette mise à niveau le moment idéal pour nettoyer les packages qui dépendent d'anciennes versions, 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 Library/Extensions/Fuse4x.kext/Contents/MacOS/Fuse4x mais n'a pas empêché sshfs de fonctionner correctement.

0
Jeff Burdges

Comme alternative: vous pouvez rétrograder de Xcode vers la version 4.2.1. DMG de Xcode 4.2.1 placé ici: https://developer.Apple.com/downloads/index.action

Après cela, MacPorts est devenu très bien pour moi.

0
Kwinto