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:
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?
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)
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#
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:
Sudo ln -s /Developer /
Sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs /SDKs
YMMV si vous avez installé différents ports!
Aussi dans /opt/local/etc/macports/macports.conf
changez la ligne avec developer_dir
pour pointer vers /
au lieu de /Developer
.
Après
Sudo xcode-select -switch /Applications/Xcode.app
J'ai aussi dû courir
Sudo xcodebuild -license
et accepter la licence
Voici une solution qui a fonctionné pour moi:
Installer les outils de ligne de commande pour Xcode
Xcode -> Preferences -> Downloads
Aidez MacPorts à trouver le bon dossier Xcode
Sudo /usr/bin/xcode-select -switch /Applications/Xcode.app
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/
Sudo mv /usr/bin/xcodebuild /usr/bin/xcodebuild.old
Sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild /usr/bin/xcodebuild
Essayez d'utiliser trunk, il n'y a pas encore de version prenant en charge Xcode 4.3.
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.
Rien de tout cela ne fonctionne pour moi. Attendez que macports publie une nouvelle version qui prend officiellement en charge XCode 4.3+
À 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.
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
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.conf
developer_dir
, tout fonctionne maintenant.
Ce problème est résolu dans MacPorts 2.0.4.
Mettre à niveau:
Sudo port selfupdate
.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.
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.
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.