Macports können nicht aktualisiert werden (mit Mac OS X Mavericks)

149

Nach dem Upgrade von Mac OS X auf die neueste Version von Mavericks habe ich versucht, meine Macports selbst zu aktualisieren, aber es ist fehlgeschlagen:

$ 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
$

Wenn ich nur versuche, einen bestimmten Port zu aktualisieren, ist dies ebenfalls fehlgeschlagen:

$ 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
$

Irgendeine Idee

  • Wird dies durch Inkompatibilität zwischen OS X Mavericks und Macports verursacht?
  • wie man es repariert?

Bearbeiten:

Ich habe versucht, einen anderen Computer von 10.8.5 auf 10.9 zu aktualisieren, und dann versucht, ein Selbstupdate für Macports durchzuführen. Es hat nicht erneut funktioniert, aber einen anderen Fehler ausgegeben:

$ 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
quelle
toller Rat - für mich gearbeitet
lynxoid

Antworten:

282

Installieren Sie zuerst die "Befehlszeilentools":

sudo xcode-select --install

(Die explizite Zustimmung zur Lizenz ist manchmal über "sudo xcodebuild -license" erforderlich.)

Aktualisieren Sie dann die Ports:

sudo port -v selfupdate
imxylz
quelle
36
Es kann auch erwähnenswert sein, dass Sie den Allgemeinen Geschäftsbedingungen wahrscheinlich folgendermaßen zustimmen sollten: sudo xcodebuild -license. Führen Sie die Schritte aus, geben Sie "Zustimmen" ein und drücken Sie die Eingabetaste.
Astromax
5
Wenn Sie dies nicht tun, schlagen beim Ausführen des Selbstupdates einige der Ports fehl.
Astromax
8
Zumindest für mich erscheint die Lizenzvereinbarung, ohne dass ich danach fragen muss.
PaulSkinner
Das nagelt es so ziemlich. Vielen Dank!!
Edson Medina
2
Stand 26. April 2014. Diese Befehle funktionieren nicht mehr. Man sollte vielleicht "Command Line Tools für OS X Mavericks" von developer.apple.com/downloads/index.action# herunterladen und installieren.
Qazwsx
37

Ich habe eine ähnliche Frage beantwortet . Der Speicherort des Tcl-Frameworks hat sich geändert und die vorhandene MacPorts-Infrastruktur beschädigt. Das 2.2.1-Installationsprogramm für Mavericks ist seitdem hier verfügbar . Erstellen Sie eine Liste Ihrer installierten Ports und löschen Sie diese /opt/localvor der Installation. Sie müssen wahrscheinlich sowieso alles "aktualisieren".

Brett Hale
quelle
6
Installiert 2.2.1 und alles begann wieder zu funktionieren. Musste nichts entfernen. Danke für den Hinweis.
Alex Polkhovsky
Hier gilt das gleiche. Dies ist die richtige Antwort. Ja, viele Leute installieren die Befehlszeilentools nicht, aber das ist hier offensichtlich nicht das Problem, wie der erste bereitgestellte Trace zeigt.
PatchyFog
Dies ist in der Tat richtig, zum Glück habe ich diese Antwort kurz nach anderen irreführenden Antworten an anderer Stelle gefunden. Vielen Dank.
Hart gekochtes Wunderland
macosx wird nicht mit vorinstalliertem tcl geliefert, oder?
Maysam Torabi
3

Möglicherweise haben Sie der XCode-Lizenz nicht zugestimmt. Wenn die xcode-Installation nicht hilft, können Sie den folgenden Befehl ausführen, um der Xcode-Lizenz zuzustimmen. sudo xcodebuild -license

Jishin
quelle
2

Es gibt einen tatsächlichen Fehler mit

gperf @ 3.0.4: Fehler: erwarteter Parameterdeklarator

Zum Glück hat diese Ausgabe ein eigenes Ticket bei MacPorts Ticket 40918

Wenn überhaupt, können Sie alle Probleme in Mavericks unter http://trac.macports.org/wiki/MavericksProblems lesen

Juanho
quelle
2

Ich hatte das gleiche Problem. Ich gehe davon aus, dass Sie zuvor Xcode-Befehlszeilen-Utils installiert hatten. Starten Sie einfach XCODE und lassen Sie die Konfiguration abschließen. Führen Sie nun den Befehl port erneut aus und er sollte ordnungsgemäß funktionieren.

Aduteese
quelle
1

Ich habe einen Fehler bei der Selbstaktualisierung erhalten und ihn durch eine Neuinstallation von MacPorts von http://www.macports.org/install.php behoben . Jetzt kann ich den Befehl selfupdate fehlerfrei ausführen und andere Ports installieren.

Der Fehler, den ich sah, war unten, es scheint das gleiche Problem zu sein, auf das Yo Sophia hingewiesen hat:

$ 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
hailong
quelle
0

Ich wollte hauptsächlich die Antwort von @ Brett oben kommentieren (sorry, SO n00b immer noch nicht erlaubt) und meine Erfahrungen mit dem Upgrade teilen ... nicht wirklich eine neue Antwort, aber hoffentlich einige nützliche Informationen.

Ich habe das Mavericks MacPorts-Installationsprogramm wie oben beschrieben heruntergeladen und installiert (jedoch ohne Entfernen / Opt, wie von @King Julian vorgeschlagen, self updatewas in Ordnung war, und dann upgrade outdatedscheint es, alle meine Ports mit einer Meldung zu deinstallieren und neu zu installieren:

Warning: Deactivate forced.  Proceeding despite dependencies.

auf jedem. Zum Glück habe ich eine Kopie der Verzeichnisse etc und apache2 / conf erstellt, sollte also in der Lage sein, meine Konfiguration zurückzubekommen, wenn sie irgendwann fertig ist ... nach ungefähr 30 Minuten hat sie einen Fehler ausgelöst

Unable to open port: extra characters after close-quote

Also habe ich es self updatewieder getan und upgrade outdatedscheint wieder zu rennen ...

Es sieht also so aus, als ob es möglich ist (LAMP funktioniert sowieso alles) - es war möglicherweise schneller, wieder von vorne zu beginnen, aber stellen Sie sicher, dass Sie mindestens ein paar Stunden Zeit dafür haben (und an das Stromnetz angeschlossen sind;)

Entschuldigung, wenn zu viele Informationen, aber hoffe, es hilft!

jonnybradley
quelle
0

Das Problem scheint bei Macports und dem Speicherort des Tcl-Frameworks und dessen Pfad zu liegen, sobald Xcode installiert wurde. Ich schlage vor, hier eine neue Version von Macports for Mavericks zu installieren: http://www.macports.org/install.php .

Yo Sophia
quelle
0

Ich hatte dieses Problem bei Mountain Lion und es hatte tatsächlich mit MacPorts zu tun, die einen alten XCode-Pfad betrachteten (ich hatte mehrere Versionen einschließlich Betas installiert). Ich habe mit der Option -d ausgeführt und die Datei config.log unter /opt/local/var/macports/sources/rsync.macports.org/release/base überprüft und einige Fehler gemeldet: -

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

Also gab ich ihm den richtigen Weg mit:

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

und das hat es behoben.

Ich habe meine Hinweise von dieser nützlichen Seite erhalten .

Echelon
quelle