Не вдається оновити Macports (із Mac OS X Mavericks)


149

Після оновлення Mac OS X до новітньої версії Mavericks я спробував самостійно оновити свої Macports, але це не вдалося:

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

Якщо я просто спробую оновити певний порт, це теж не вдалося:

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

Будь-яка ідея

  • якщо це викликано несумісністю між OS X Mavericks і Macports?
  • як це виправити?

Редагувати:

Я спробував інший комп’ютер, оновивши його з 10,8,5 до 10,9, а потім спробував зробити самообнаўлення для макпортів, він не працював знову, але дав іншу помилку:

$ 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


чудова порада - працював для мене
lynxoid

Відповіді:


282

Спочатку встановіть "Інструменти командного рядка":

sudo xcode-select --install

(Іноді явна згода на ліцензію іноді необхідна через "sudo xcodebuild -license")

Потім оновіть порти:

sudo port -v selfupdate

36
Можливо, варто також зазначити, що ви, ймовірно, повинні погодитися з умовами та умовами, виконуючи: sudo xcodebuild -license. Виконайте кроки та введіть "погодитись" і натисніть клавішу Enter.
astromax

5
Якщо цього не зробити, під час запуску самозаповнення деякі порти вийдуть з ладу.
astromax

8
Принаймні для мене ліцензійний договір спливає, не вимагаючи цього.
PaulSkinner

Це майже нігті це. Дякую!!
Едсон Медіна

2
Станом на 26 квітня 2014 р. Ці команди більше не працюють. Можливо, слід завантажити "Інструменти командного рядка для OS X Mavericks" з developer.apple.com/downloads/index.action# та встановити його.
qazwsx

37

Я відповів на подібне запитання. Місце розташування рамки Tcl змінилося, порушивши існуючу інфраструктуру MacPorts. З цього часу програма для встановлення Mavericks 2.2.1 стала доступною тут . Створіть список встановлених портів та подумайте про видалення /opt/localперед встановленням. Вам, швидше за все, потрібно буде все "оновити".


6
Встановлено 2.2.1, і все почало працювати знову. Не потрібно було нічого видаляти. Дякую за вказівник
Олексій Полховський

Те ж саме. Це правильна відповідь. Так, багато людей не встановлюють інструменти командного рядка, але це, очевидно, не проблема тут, як показує перший наданий слід.
PatchyFog

Це дійсно правильно, пощастило, що я знайшов цю відповідь незабаром після інших оману в інших місцях. Дякую.
Твердо варена країна чудес

macosx не постачається з попередньо встановленою програмою tcl, чи не так?
Maysam Torabi

3

Можливо, ви не погодилися з ліцензією XCode. Якщо встановлення xcode не допомагає, можна виконати команду нижче, щоб погодитись з ліцензією Xcode. sudo xcodebuild -license



2

У мене було те саме питання. Я припускаю, що у вас були раніше встановлені утиліти командного рядка Xcode. Просто запустіть XCODE і нехай він закінчить конфігурацію. Тепер перезапустіть команду порту, і вона повинна працювати належним чином.


1

Я отримав помилку при самозавантаженні та усунув її, зробивши нову інсталяцію MacPorts з http://www.macports.org/install.php . Тепер я можу без помилок запустити команду selfupdate та встановити інші порти.

Помилка, яку я бачив, була внизу, схоже на ту ж проблему, що і Йо Софія вказала:

$ 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

Я в основному хотів прокоментувати відповідь @ Brett вище (вибачте, так що n00b все ще не дозволено) і поділитися своїм досвідом оновлення ... не дуже нова відповідь, але, сподіваюся, корисна інформація.

Я завантажив і встановив інсталятор Mavericks MacPorts, як описано вище, (але не видаляючи / вибираючи, як запропонував @King Julian, self updateщо було добре, а потім, upgrade outdatedздається, видаляється та перевстановлюється всі мої порти з повідомленням:

Warning: Deactivate forced.  Proceeding despite dependencies.

на кожному. На щастя, я зробив копію і т. Д. І апаш2 / конф , і тому я мав би змогу повернути конфігурацію, коли вона врешті-решт закінчиться ... через 30 хвилин або близько цього вона викинула помилку

Unable to open port: extra characters after close-quote

Отже, я self updateзнову зробив і, upgrade outdatedздається, знову запустився ...

Так виглядає, що це можна зробити (LAMP все працює в будь-якому випадку) - можливо, було б швидше почати з нуля, але переконайтеся, що у вас є принаймні пару годин для цього (і підключитесь до електромережі;)

Вибачте, якщо занадто багато інформації, але сподіваюся, що це допоможе!


0

Здається, проблема полягає в Macports і розташуванні рамки Tcl, і це шлях після встановлення Xcode. Я пропоную встановити тут свіжу версію Macports для Mavericks: http://www.macports.org/install.php .


0

У мене була ця проблема на Mountain Lion, і це насправді стосувалося MacPorts, який дивився на старий шлях XCode (у мене було встановлено кілька версій, включаючи бета-версії). Я запустив параметр -d і перевірив файл config.log за адресою /opt/local/var/macports/sources/rsync.macports.org/release/base, і він повідомив про деякі помилки: -

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

Тому я дав йому правильний шлях, використовуючи:

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

і це зафіксувало.

Я отримав свої підказки з цієї корисної сторінки .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.