Tidak dapat memperbarui Macports (dengan Mac OS X Mavericks)

149

Setelah memutakhirkan Mac OS X ke Mavericks versi terbaru, saya mencoba memperbarui sendiri Macports saya, tetapi gagal:

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

Jika saya hanya mencoba untuk memutakhirkan port tertentu, gagal juga:

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

Ada ide

  • jika ini disebabkan oleh ketidakcocokan antara OS X Mavericks dan Macports?
  • bagaimana memperbaikinya?

Edit:

Saya mencoba meng-upgrade komputer yang berbeda dari 10.8.5 ke 10.9, dan kemudian mencoba melakukan pembaruan sendiri untuk macports, itu tidak berfungsi lagi tetapi memberikan kesalahan yang berbeda:

$ 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
sumber
saran bagus - bekerja untuk saya
lynxoid

Jawaban:

282

Instal "Alat Baris Perintah" terlebih dahulu:

sudo xcode-select --install

(Menyetujui lisensi secara eksplisit terkadang diperlukan melalui "sudo xcodebuild -license")

Kemudian tingkatkan port:

sudo port -v selfupdate
imxylz
sumber
36
Mungkin juga patut dicatat bahwa Anda mungkin harus menyetujui syarat dan ketentuan dengan melakukan: sudo xcodebuild -license. Jalankan melalui langkah-langkah dan ketik 'setuju' dan tekan enter.
astromax
5
Jika Anda tidak melakukan ini, ketika Anda menjalankan pembaruan sendiri beberapa port akan gagal.
astromax
8
Setidaknya bagi saya, perjanjian lisensi muncul tanpa perlu memintanya.
PaulSkinner
Cukup banyak itu. Terima kasih!!
Edson Medina
2
Pada 26 April 2014. Perintah-perintah ini tidak lagi berfungsi. Seseorang mungkin harus mengunduh "Alat Baris Perintah untuk OS X Mavericks" dari developer.apple.com/downloads/index.action# dan menginstalnya.
qazwsx
37

Saya menjawab pertanyaan serupa. Lokasi kerangka kerja Tcl telah berubah, memutus infrastruktur MacPorts yang ada. Pemasang 2.2.1 untuk Mavericks telah tersedia di sini . Buat daftar port yang terpasang, dan pertimbangkan untuk menghapus /opt/localsebelum menginstal. Anda mungkin perlu 'memperbarui' semuanya.

Brett Hale
sumber
6
Dipasang 2.2.1, dan semuanya mulai berfungsi lagi. Tidak harus menghapus apa pun. Terima kasih atas penunjuknya.
Alex Polkhovsky
Sama disini. Ini jawaban yang benar. Ya, banyak orang tidak menginstal alat-alat baris perintah, tapi itu jelas bukan masalah di sini, seperti yang ditunjukkan oleh jejak pertama.
PatchyFog
Ini memang benar, beruntung saya menemukan jawaban ini tidak lama setelah yang menyesatkan lainnya. Terima kasih.
Hard-Boiled Wonderland
macosx tidak datang dengan tcl yang sudah diinstal, bukan?
Maysam Torabi
3

Mungkin ada kemungkinan Anda tidak setuju dengan lisensi XCode. Jika instalasi xcode tidak membantu, Anda dapat menjalankan perintah di bawah ini untuk menyetujui lisensi Xcode. sudo xcodebuild -license

jishin
sumber
2

ada bug aktual dengan

gperf @ 3.0.4: error: deklarator parameter yang diharapkan

untungnya masalah ini memiliki tiketnya sendiri di tiket MacPorts 40918

jika Anda bisa membaca semua masalah di Mavericks di http://trac.macports.org/wiki/MavericksProblems

juanho
sumber
2

Saya memiliki masalah yang sama. Saya berasumsi bahwa Anda telah menginstal utils perintah Xcode sebelumnya. Buka saja XCODE dan biarkan selesai konfigurasi. Sekarang jalankan kembali perintah port dan itu akan berfungsi dengan baik.

aduteese
sumber
1

Saya mendapat kesalahan dengan pembaruan otomatis, dan menyelesaikannya dengan melakukan instalasi baru MacPorts dari http://www.macports.org/install.php . Sekarang saya dapat menjalankan perintah pembaruan otomatis tanpa kesalahan dan menginstal port lain.

Kesalahan yang saya lihat ada di bawah, sepertinya masalah yang sama dengan yang ditunjukkan 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
hailong
sumber
0

Saya terutama ingin mengomentari jawaban @ Brett di atas (maaf, SO n00b masih, tidak diizinkan) dan berbagi peningkatan pengalaman saya ... bukan jawaban yang benar-benar baru, tapi semoga beberapa info bermanfaat.

Saya mengunduh dan menginstal penginstal Mavericks MacPorts seperti yang dijelaskan di atas, (tetapi tanpa menghapus / memilih, seperti yang disarankan oleh @ King, Julian melakukan hal self updateyang baik-baik saja, dan kemudian upgrade outdatedsepertinya menghapus dan menginstal ulang semua port saya dengan pesan:

Warning: Deactivate forced.  Proceeding despite dependencies.

pada masing-masing. Untungnya saya membuat salinan direktori etc dan apache2 / conf , jadi saya bisa mendapatkan konfigurasi saya kembali ketika akhirnya selesai ... setelah 30 menit atau lebih melemparkan kesalahan

Unable to open port: extra characters after close-quote

Jadi saya lakukan self updatelagi dan upgrade outdatedsepertinya lari lagi ...

Jadi sepertinya itu bisa dilakukan (LAMP semuanya berfungsi) - mungkin lebih cepat untuk memulai lagi dari awal, tetapi pastikan Anda memiliki setidaknya beberapa jam cadangan untuk ini (dan terhubung ke daya listrik;)

Maaf jika terlalu banyak info, tapi semoga membantu!

Jonnybradley
sumber
0

Masalahnya tampaknya dengan Macports dan lokasi kerangka kerja Tcl dan jalurnya setelah Xcode diinstal. Saya sarankan menginstal versi baru Macports untuk Mavericks di sini: http://www.macports.org/install.php .

Yo Sophia
sumber
0

Saya punya masalah ini di Mountain Lion dan itu sebenarnya berkaitan dengan MacPorts melihat jalur XCode lama (saya punya beberapa versi termasuk beta diinstal). Saya berlari dengan opsi -d dan memeriksa file config.log di /opt/local/var/macports/sources/rsync.macports.org/release/base dan melaporkan beberapa kesalahan: -

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

Jadi saya memberikan jalur yang benar menggunakan: -

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

dan itu memperbaikinya.

Saya mendapat petunjuk dari halaman yang bermanfaat ini .

Eselon
sumber