Impossible de mettre à jour Macports (avec Mac OS X Mavericks)

149

Après avoir mis à niveau Mac OS X vers la dernière version Mavericks, j'ai tenté de mettre à jour automatiquement mes Macports, mais cela a échoué:

$ sudo port -v selfupdate
--->  Updating MacPorts base sources using rsync
receiving file list ... done

sent 36 bytes  received 69 bytes  210.00 bytes/sec
total size is 4925440  speedup is 46908.95
receiving file list ... done

sent 36 bytes  received 76 bytes  74.67 bytes/sec
total size is 512  speedup is 4.57
MacPorts base version 2.2.0 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from rsync://rsync.macports.org/release/tarballs/ports.tar
receiving file list ... done

sent 36 bytes  received 70 bytes  70.67 bytes/sec
total size is 57702400  speedup is 544362.26
receiving file list ... done

sent 36 bytes  received 77 bytes  75.33 bytes/sec
total size is 512  speedup is 4.53
receiving file list ... rsync: change_dir "tarballs/PortIndex_darwin_13_i386" (in release) failed: No such file or directory (2)
done

sent 4 bytes  received 9 bytes  26.00 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(1400) [receiver=2.6.9]
Command failed: /usr/bin/rsync -rtzv --delete-after rsync://rsync.macports.org/release/tarballs/PortIndex_darwin_13_i386/PortIndex /opt/local/var/macports/sources/rsync.macports.org/release/tarballs
Exit code: 23
--->  MacPorts base is outdated, installing new version 2.2.1
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking MacPorts version... 2.2.1
checking for sw_vers... /usr/bin/sw_vers
checking for defaults... /usr/bin/defaults
checking for xcode-select... /usr/bin/xcode-select
checking Mac OS X version... 10.9
checking Xcode location... /Applications/Xcode.app/Contents/Developer
checking Xcode version... 5.0.1
checking for gcc... /usr/bin/cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
<snip>
checking CommonCrypto/CommonDigest.h presence... yes
checking for CommonCrypto/CommonDigest.h... yes
checking for readline in -lreadline... yes
checking whether rl_username_completion_function is declared... no
checking whether rl_filename_completion_function is declared... yes
checking whether rl_completion_matches is declared... yes
checking whether username_completion_function is declared... yes
checking whether filename_completion_function is declared... yes
checking whether completion_matches is declared... yes
checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions
Command failed: cd /opt/local/var/macports/sources/rsync.macports.org/release/tarballs/base && CC=/usr/bin/cc OBJC=/usr/bin/cc ./configure --prefix=/opt/local --with-tclpackage=/Library/Tcl --with-install-user=root --with-install-group=admin --with-directory-mode=0755 --enable-readline && make SELFUPDATING=1 && make install SELFUPDATING=1
Exit code: 1
Error: Error installing new MacPorts base: command execution failed
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: command execution failed
$

Si j'essaie simplement de mettre à niveau un port particulier, cela a également échoué:

$ sudo port upgrade emacsapp
Password:
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
Error: emacsapp is not installed
$ sudo port search emacs
Password:
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
$ sudo port upgrade emacs-app
Warning: port definitions are more than two weeks old, consider updating them by running 'port selfupdate'.
--->  Fetching archive for gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://packages.macports.org/gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://lil.fr.packages.macports.org/gperf
--->  Attempting to fetch gperf-3.0.4_2.darwin_13.x86_64.tbz2 from http://mse.uk.packages.macports.org/sites/packages.macports.org/gperf
--->  Fetching distfiles for gperf
--->  Attempting to fetch gperf-3.0.4.tar.gz from http://ykf.ca.distfiles.macports.org/MacPorts/mpdistfiles/gperf
--->  Verifying checksums for gperf
--->  Extracting gperf
Error: org.macports.extract for port gperf returned: command execution failed
Please see the log file for port gperf for details:
    /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_gperf/gperf/main.log
Error: Problem while installing gperf
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
$

Une idée

  • si cela est causé par une incompatibilité entre OS X Mavericks et Macports?
  • comment le réparer?

Éditer:

J'ai essayé un autre ordinateur en le mettant à niveau de 10.8.5 à 10.9, puis j'ai essayé de faire une mise à jour automatique pour macports, cela n'a pas fonctionné à nouveau mais a donné une erreur différente:

$ sudo port -v selfupdate
--->  Updating MacPorts base sources using rsync
receiving file list ... done
base.tar

sent 13396 bytes  received 10355 bytes  15834.00 bytes/sec
total size is 4925440  speedup is 207.38
receiving file list ... done
base.tar.rmd160

sent 64 bytes  received 635 bytes  1398.00 bytes/sec
total size is 512  speedup is 0.73
MacPorts base version 2.2.1 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
Synchronizing local ports tree from file:///opt/local/var/macports/sources/svn.macports.org/trunk/dports/
svn: E155036: Please see the 'svn upgrade' command
svn: E155036: Working copy '/opt/local/var/macports/sources/svn.macports.org/trunk/dports' is too old (format 10, created by Subversion 1.6)
Command failed: /usr/bin/svn update --non-interactive /opt/local/var/macports/sources/svn.macports.org/trunk/dports
Exit code: 1
Error: Synchronization of the local ports tree failed doing an svn update
Error: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: /opt/local/bin/port: port selfupdate failed: Couldn't sync the ports tree: Synchronization of 1 source(s) failed
qazwsx
la source
bon conseil - a fonctionné pour moi
lynxoïde

Réponses:

282

Installez d'abord les "Outils de ligne de commande":

sudo xcode-select --install

(L'acceptation explicite de la licence est parfois nécessaire via "sudo xcodebuild -license")

Ensuite, mettez à niveau les ports:

sudo port -v selfupdate
imxylz
la source
36
Il peut également être intéressant de noter que vous devriez probablement accepter les termes et conditions en faisant: sudo xcodebuild -license. Parcourez les étapes et tapez «d'accord» et appuyez sur Entrée.
astromax
5
Si vous ne le faites pas, lorsque vous exécutez la mise à jour automatique, certains ports échoueront.
astromax
8
Pour moi au moins, le contrat de licence apparaît sans avoir besoin de le demander.
PaulSkinner
Cela cloue à peu près tout. Merci!!
Edson Medina
2
Depuis le 26 avril 2014. Ces commandes ne fonctionnent plus. On devrait peut-être télécharger "Outils de ligne de commande pour OS X Mavericks" sur developer.apple.com/downloads/index.action# et l'installer.
qazwsx
37

J'ai répondu à une question similaire. L'emplacement du framework Tcl a changé, cassant l'infrastructure MacPorts existante. Le programme d'installation 2.2.1 pour Mavericks est depuis devenu disponible ici . Faites une liste de vos ports installés et envisagez de supprimer /opt/localavant l'installation. Vous devrez probablement tout «mettre à jour» de toute façon.

Brett Hale
la source
6
Installé 2.2.1, et tout a recommencé à fonctionner. Je n'ai rien eu à supprimer. Merci pour le pointeur.
Alex Polkhovsky
Pareil ici. C'est la bonne réponse. Oui, beaucoup de gens n'installent pas les outils de ligne de commande, mais ce n'est évidemment pas le problème ici, comme le montre la première trace fournie.
PatchyFog
C'est en effet correct, heureusement j'ai trouvé cette réponse peu de temps après d'autres trompeuses ailleurs. Merci.
Hard-Boiled Wonderland
macosx n'est pas livré avec tcl préinstallé, n'est-ce pas?
Maysam Torabi
3

Il se peut que vous n'ayez pas accepté la licence XCode. Si xcode-install ne vous aide pas, vous pouvez exécuter la commande ci-dessous pour accepter la licence Xcode. sudo xcodebuild -license

jishin
la source
2

il y a un bug réel avec

gperf @ 3.0.4: erreur: déclarateur de paramètre attendu

Heureusement, ce numéro a son propre ticket au ticket MacPorts 40918

si quoi que ce soit, vous pouvez lire tous les problèmes de Mavericks à http://trac.macports.org/wiki/MavericksProblems

Juanho
la source
2

J'ai eu le même problème. Je suppose que vous avez déjà installé des utilitaires de ligne de commande Xcode. Lancez simplement XCODE et laissez-le terminer la configuration. Maintenant, relancez la commande de port et cela devrait fonctionner correctement.

aduteese
la source
1

J'ai eu une erreur avec selfupdate et je l'ai résolue en effectuant une nouvelle installation de MacPorts à partir de http://www.macports.org/install.php . Maintenant, je peux exécuter la commande selfupdate sans erreur et installer d'autres ports.

L'erreur que je voyais était ci-dessous, il semble que le même problème que Yo Sophia a souligné:

$ sudo port selfupdate
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.1.3 installed,
MacPorts base version 2.2.1 downloaded.
--->  Updating the ports tree
--->  MacPorts base is outdated, installing new version 2.2.1
Installing new MacPorts release in /opt/local as root:admin; permissions 0755; Tcl-Package in /Library/Tcl

Error: /opt/local/bin/port: port selfupdate failed: Error installing new MacPorts base: command execution failed
grêle
la source
0

Je voulais principalement commenter la réponse de @ Brett ci-dessus (désolé, SO n00b toujours, pas autorisé) et partager mon expérience de mise à niveau ... pas vraiment une nouvelle réponse, mais j'espère quelques informations utiles.

J'ai téléchargé et installé le programme d'installation de Mavericks MacPorts comme décrit ci-dessus (mais sans supprimer / opt, comme suggéré par @King Julian a fait self updatece qui était bien, puis upgrade outdatedet il semble désinstaller et réinstaller tous mes ports avec un message:

Warning: Deactivate forced.  Proceeding despite dependencies.

sur chacun d'eux. Heureusement, j'ai fait une copie des répertoires etc et apache2 / conf , donc je devrais être en mesure de récupérer ma configuration quand elle se termine finalement ... après environ 30 minutes, cela a généré une erreur

Unable to open port: extra characters after close-quote

Alors je l'ai fait à self updatenouveau et upgrade outdatedsemble courir à nouveau ...

On dirait donc que cela peut être fait (LAMP fonctionne de toute façon) - il aurait peut-être été plus rapide de recommencer à zéro, mais assurez-vous d'avoir au moins quelques heures de réserve pour cela (et d'être connecté au secteur;)

Désolé si trop d'informations, mais j'espère que cela vous aidera!

jonnybradley
la source
0

Le problème semble être avec Macports et l'emplacement du framework Tcl et son chemin une fois que Xcode a été installé. Je suggère d'installer une nouvelle version de Macports pour Mavericks ici: http://www.macports.org/install.php .

Yo Sophia
la source
0

J'ai eu ce problème sur Mountain Lion et c'était en fait à voir avec MacPorts regardant un ancien chemin XCode (j'avais plusieurs versions, y compris des versions bêta installées). J'ai couru avec l'option -d et vérifié le fichier config.log à /opt/local/var/macports/sources/rsync.macports.org/release/base et il a signalé quelques erreurs: -

--- snip ---
...
configure:3331: checking for C compiler version
configure:3340: gcc --version >&5
Configured with: --prefix=/Applications/Xcode5-DP3.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
xcrun: Error: could not stat active Xcode path '/Applications/Xcode5-DP3.app/Contents/Developer'. (No such file or directory)
configure:3351: $? = 0
configure:3340: gcc -v >&5
Configured with: --prefix=/Applications/Xcode5-DP3.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
xcrun: Error: could not stat active Xcode path '/Applications/Xcode5-DP3.app/Contents/Developer'. (No such file or directory)
...
--- snip ---

Alors je lui ai donné le chemin correct en utilisant: -

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

et cela l'a corrigé.

J'ai obtenu mes indices sur cette page utile .

Échelon
la source