No se pueden actualizar Macports (con Mac OS X Mavericks)


149

Después de actualizar Mac OS X a la versión más reciente de Mavericks, intenté actualizar mi Macports, pero falló:

$ 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 solo trato de actualizar un puerto en particular, también falló:

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

Alguna idea

  • si esto es causado por incompatibilidad entre OS X Mavericks y Macports?
  • ¿Como arreglarlo?

Editar:

Intenté con una computadora diferente actualizándola de 10.8.5 a 10.9, y luego intenté hacer una actualización automática para macports, no funcionó nuevamente pero dio un error diferente:

$ 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


gran consejo - funcionó para mí
lynxoid

Respuestas:


282

Instale primero las "Herramientas de línea de comandos":

sudo xcode-select --install

(A veces es necesario aceptar explícitamente la licencia a través de "sudo xcodebuild -license")

Luego actualice los puertos:

sudo port -v selfupdate

36
También vale la pena señalar que probablemente debería aceptar los términos y condiciones haciendo: sudo xcodebuild -license. Ejecute los pasos y escriba 'aceptar' y presione enter.
astromax

55
Si no hace esto, cuando ejecute la actualización automática, algunos de los puertos fallarán.
astromax

8
Al menos para mí, el acuerdo de licencia aparece sin necesidad de solicitarlo.
PaulSkinner el

Eso casi lo clava. ¡¡Gracias!!
Edson Medina

2
A partir del 26 de abril de 2014. Estos comandos ya no funcionan. Quizás debería descargar "Herramientas de línea de comandos para OS X Mavericks" de developer.apple.com/downloads/index.action# e instalarlo.
qazwsx

37

Yo respondí una pregunta similar. La ubicación del marco Tcl ha cambiado, rompiendo la infraestructura existente de MacPorts. El instalador 2.2.1 para Mavericks ya está disponible aquí . Haga una lista de sus puertos instalados y considere eliminar /opt/localantes de instalar. Es probable que necesite "actualizar" todo de todos modos.


66
Instalé 2.2.1, y todo comenzó a funcionar nuevamente. No tuve que quitar nada. Gracias por el puntero.
Alex Polkhovsky

Igual que aquí. Esta es la respuesta correcta. Sí, mucha gente no instala las herramientas de línea de comandos, pero obviamente ese no es el problema aquí, como lo muestra el primer seguimiento proporcionado.
PatchyFog

Esto es correcto, por suerte encontré esta respuesta poco después de otras engañosas en otros lugares. Gracias.
Hard-Boiled Wonderland

macosx no viene con tcl preinstalado, ¿verdad?
Maysam Torabi

3

Es posible que no haya aceptado la licencia XCode. Si xcode-install no ayuda, puede ejecutar el siguiente comando para aceptar la licencia de Xcode. sudo xcodebuild -license



2

Tuve el mismo problema. Supongo que ya tenía instaladas las utilidades de línea de comandos de Xcode. Simplemente inicie XCODE y deje que termine la configuración. Ahora vuelva a ejecutar el comando de puerto y debería funcionar correctamente.


1

Obtuve un error con la actualización automática y lo resolví haciendo una nueva instalación de MacPorts desde http://www.macports.org/install.php . Ahora puedo ejecutar el comando selfupdate sin error e instalar otros puertos.

El error que estaba viendo estaba debajo, parece el mismo problema que Yo Sophia ha señalado:

$ 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

0

Principalmente quería comentar la respuesta de @ Brett anterior (lo siento, SO n00b todavía, no está permitido) y compartir mi experiencia de actualización ... no es realmente una nueva respuesta, pero espero que alguna información útil.

Descargué e instalé el instalador Mavericks MacPorts como se describe anteriormente, (pero sin eliminar / optar, como lo sugirió @King Julian hizo lo self updateque estaba bien, y luego upgrade outdatedparece estar desinstalando y reinstalando todos mis puertos con un mensaje:

Warning: Deactivate forced.  Proceeding despite dependencies.

en cada uno Afortunadamente, hice una copia de los directorios etc y apache2 / conf , por lo que debería poder recuperar mi configuración cuando finalmente termine ... después de 30 minutos más o menos arrojó un error

Unable to open port: extra characters after close-quote

Así que lo hice de self updatenuevo y upgrade outdatedparece correr de nuevo ...

Parece que se puede hacer (LAMP funciona de todos modos): podría haber sido más rápido comenzar de nuevo desde cero, pero asegúrese de tener al menos un par de horas libres para esto (y estar conectado a la red eléctrica);

Disculpas si hay demasiada información, pero espero que ayude!



0

Tuve este problema en Mountain Lion y en realidad tenía que ver con MacPorts mirando una antigua ruta XCode (tenía varias versiones, incluidas las versiones beta instaladas). Ejecuté con la opción -d y verifiqué el archivo config.log en /opt/local/var/macports/sources/rsync.macports.org/release/base e informó algunos errores: -

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

Entonces le di la ruta correcta usando: -

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

Y eso lo arregló.

Obtuve mis pistas de esta útil página .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.