[macos] Macports를 업데이트 할 수 없습니다 (Mac OS X Mavericks 사용)

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로 업그레이드 한 다음 macports에 대해 자체 업데이트를 시도했지만 다시 작동하지 않지만 다른 오류가 발생했습니다.

$ 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



답변

먼저 “명령 줄 도구”를 설치하십시오.

sudo xcode-select --install

( “sudo xcodebuild -license”를 통해 라이센스에 명시 적으로 동의해야하는 경우가 있음)

그런 다음 포트를 업그레이드하십시오.

sudo port -v selfupdate


답변

나는 비슷한 질문 에 대답 했다. Tcl 프레임 워크의 위치가 변경되어 기존 MacPorts 인프라가 손상되었습니다. Mavericks 용 2.2.1 설치 프로그램은 여기서 사용할 수 있습니다 . 설치된 포트 목록을 작성 /opt/local하고 설치 전에 삭제를 고려 하십시오. 어쨌든 모든 것을 ‘업데이트’해야 할 것입니다.


답변

XCode 라이센스에 동의하지 않았을 수 있습니다. xcode-install이 도움이되지 않으면 아래 명령을 실행하여 Xcode 라이센스에 동의 할 수 있습니다.

sudo xcodebuild -license


답변

실제 버그가 있습니다

gperf @ 3.0.4 : 오류 : 예상 매개 변수 선언자

고맙게도이 문제는 MacPorts 티켓 40918에 자체 티켓이 있습니다.

Mavericks의 모든 문제를 http://trac.macports.org/wiki/MavericksProblems 에서 읽을 수 있다면


답변

나는 같은 문제가 있었다. 이전에 Xcode 명령 줄 유틸리티를 설치했다고 가정합니다. XCODE를 시작하고 구성을 마치십시오. 이제 포트 명령을 다시 실행하면 제대로 작동합니다.


답변

자체 업데이트에 오류가 있으며 http://www.macports.org/install.php 에서 MacPorts를 새로 설치하여 문제를 해결했습니다 . 이제 오류없이 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


답변

나는 위의 @Brett의 대답에 대해 주로 언급하고 싶었지만 (죄송하지만 SO n00b는 여전히 허용되지 않음) 업그레이드 경험을 공유하고 싶습니다 … 실제로 새로운 대답은 아니지만 유용한 정보가 있습니다.

위의 설명에 따라 Mavericks MacPorts 설치 프로그램을 다운로드하여 설치했습니다 (그러나 @King Julian이 제안한대로 / opt를 제거하지 self update않은 것이 좋았습니다. 그런 다음 upgrade outdated메시지가있는 모든 포트를 제거하고 다시 설치하는 것 같습니다.

Warning: Deactivate forced.  Proceeding despite dependencies.

각각에. 운 좋게도 etcapache2 / conf 디렉토리 의 사본을 만들었 으므로 결국 설정이 끝나면 30 분 정도 후에 구성을 다시 가져올 수 있어야합니다.

Unable to open port: extra characters after close-quote

그래서 나는 self update다시하고 upgrade outdated다시 실행하는 것 같습니다 …

그렇게 할 수있는 것처럼 보입니다 (어쨌든 LAMP는 모두 작동합니다)-처음부터 다시 시작하는 것이 더 빠를 수도 있지만 적어도 두 시간 이상 여유가 있어야합니다 (주 전원에 연결하십시오).

정보가 너무 많으면 사과하지만 도움이되기를 바랍니다.