Nie można zaktualizować Macports (z Mac OS X Mavericks)

149

Po uaktualnieniu Mac OS X do najnowszej wersji Mavericks, próbowałem samodzielnie zaktualizować Macports, ale nie udało się to:

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

Jeśli po prostu spróbuję zaktualizować określony port, to też się nie udało:

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

Dowolny pomysł

  • jeśli jest to spowodowane niekompatybilnością między systemem OS X Mavericks i Macports?
  • jak to naprawić?

Edytować:

Próbowałem na innym komputerze, uaktualniając go z 10.8.5 do 10.9, a następnie próbowałem wykonać automatyczną aktualizację dla macports, to nie zadziałało ponownie, ale dał inny błąd:

$ 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
źródło
świetna rada - zadziałała dla mnie
lynxoid

Odpowiedzi:

282

Najpierw zainstaluj „Narzędzia wiersza poleceń”:

sudo xcode-select --install

(Wyraźna zgoda na licencję jest czasami konieczna za pośrednictwem „sudo xcodebuild -license”)

Następnie zaktualizuj porty:

sudo port -v selfupdate
imxylz
źródło
36
Warto również zauważyć, że prawdopodobnie powinieneś zgodzić się na warunki, wykonując: sudo xcodebuild -license. Wykonaj instrukcje, wpisz „zgadzam się” i naciśnij Enter.
astromax
5
Jeśli tego nie zrobisz, po uruchomieniu funkcji autoaktualizacji niektóre porty przestaną działać.
astromax
8
Przynajmniej dla mnie umowa licencyjna pojawia się bez konieczności proszenia o nią.
PaulSkinner
To całkiem nieźle. Dzięki!!
Edson Medina
2
Od 26 kwietnia 2014 r. Te polecenia już nie działają. Być może należy pobrać „Narzędzia wiersza poleceń dla OS X Mavericks” ze strony developer.apple.com/downloads/index.action# i zainstalować je.
qazwsx
37

I odpowiedział podobne pytanie. Zmieniła się lokalizacja frameworka Tcl, niszcząc istniejącą infrastrukturę MacPorts. Instalator 2.2.1 dla Mavericks stał się dostępny tutaj . Zrób listę zainstalowanych portów i rozważ usunięcie /opt/localprzed instalacją. Prawdopodobnie i tak będziesz musiał wszystko „zaktualizować”.

Brett Hale
źródło
6
Zainstalowałem 2.2.1 i wszystko zaczęło znowu działać. Nie musiałem niczego usuwać. Dziękuję za wskazówkę.
Alex Polkhovsky
To samo tutaj. To jest poprawna odpowiedź. Tak, wiele osób nie instaluje narzędzi wiersza poleceń, ale oczywiście nie jest to problem, jak pokazuje pierwszy dostarczony ślad.
PatchyFog
To prawda, na szczęście znalazłem tę odpowiedź wkrótce po innych wprowadzających w błąd innych miejscach. Dzięki.
Hard-Boiled Wonderland
macosx nie jest dostarczany z preinstalowanym tcl, prawda?
Maysam Torabi
3

Może być szansa, że ​​nie zgadzasz się z licencją XCode. Jeśli xcode-install nie pomoże, możesz uruchomić poniższe polecenie, aby zaakceptować licencję Xcode. sudo xcodebuild -license

jishin
źródło
2

jest rzeczywisty błąd z

gperf @ 3.0.4: błąd: oczekiwany deklarator parametrów

na szczęście ten numer ma swój własny bilet na bilecie MacPorts 40918

jeśli cokolwiek, możesz przeczytać wszystkie problemy w Mavericks na http://trac.macports.org/wiki/MavericksProblems

juanho
źródło
2

Miałem ten sam problem. Zakładam, że masz zainstalowane wcześniej narzędzia wiersza poleceń Xcode. Po prostu uruchom XCODE i pozwól mu zakończyć konfigurację. Teraz uruchom ponownie polecenie portu i powinno działać poprawnie.

aduteese
źródło
1

Wystąpił błąd podczas autoaktualizacji i rozwiązałem go, wykonując nową instalację MacPorts z http://www.macports.org/install.php . Teraz mogę uruchomić polecenie selfupdate bez błędów i zainstalować inne porty.

Błąd, który widziałem, był poniżej, wygląda na ten sam problem, który wskazał Yo Sophia:

$ 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
witam
źródło
0

Głównie chciałem skomentować powyższą odpowiedź @ Bretta (przepraszam, SO n00b nadal, niedozwolone) i podzielić się moim doświadczeniem w aktualizacji ... nie jest to nowa odpowiedź, ale mam nadzieję, że kilka przydatnych informacji.

Pobrałem i zainstalowałem instalator Mavericks MacPorts zgodnie z powyższym opisem (ale bez usuwania / opt, jak zasugerował @King Julian, self updateco było w porządku, a potem upgrade outdatedwydaje się, że odinstalowuję i ponownie instaluję wszystkie moje porty z komunikatem:

Warning: Deactivate forced.  Proceeding despite dependencies.

na każdym. Na szczęście zrobiłem kopię katalogów etc i apache2 / conf , więc powinienem być w stanie odzyskać moją konfigurację, gdy w końcu się skończy ... po około 30 minutach wyrzucił błąd

Unable to open port: extra characters after close-quote

Więc zrobiłem to self updateponownie i upgrade outdatedwydaje się, że znowu biegnę ...

Wygląda na to, że da się to zrobić (LAMPA i tak działa) - szybsze mogłoby być rozpoczęcie od nowa, ale upewnij się, że masz na to co najmniej kilka godzin wolnego (i podłącz do zasilania;)

Przepraszamy, jeśli jest za dużo informacji, ale mam nadzieję, że to pomoże!

jonnybradley
źródło
0

Wydaje się, że problem dotyczy Macports i lokalizacji frameworka Tcl i jego ścieżki po zainstalowaniu Xcode. Proponuję zainstalować nową wersję Macports for Mavericks tutaj: http://www.macports.org/install.php .

Yo Sophia
źródło
0

Miałem ten problem w Mountain Lion i tak naprawdę był on związany z tym, że MacPorts patrzyło na starą ścieżkę XCode (miałem kilka wersji, w tym zainstalowanych beta). Uruchomiłem z opcją -d i sprawdziłem plik config.log w /opt/local/var/macports/sources/rsync.macports.org/release/base i zgłosił kilka błędów: -

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

Więc podałem poprawną ścieżkę używając: -

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

i to naprawiło.

Mam wskazówki z tej przydatnej strony .

Rzut
źródło