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로 업그레이드 한 다음 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


좋은 조언-나를 위해 일했다
lynxoid

답변:


282

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

sudo xcode-select --install

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

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

sudo port -v selfupdate

36
sudo xcodebuild -license를 수행하여 이용 약관에 동의해야 할 수도 있습니다. 단계를 실행하고 '동의 함'을 입력하고 Enter 키를 누르십시오.
astromax

5
이 작업을 수행하지 않으면 자체 업데이트를 실행할 때 일부 포트가 실패합니다.
astromax

8
적어도 저에게 라이센스 계약은 요구하지 않고 나타납니다.
PaulSkinner

그것은 거의 그것을 못 박았습니다. 감사!!
Edson Medina

2
2014 년 4 월 26 일부터이 명령은 더 이상 작동하지 않습니다. 아마 developer.apple.com/downloads/index.action# 에서 "OS X Mavericks 용 명령 행 도구"를 다운로드 하여 설치해야합니다.
qazwsx

37

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


6
2.2.1을 설치하고 모든 것이 다시 작동하기 시작했습니다. 아무것도 제거 할 필요가 없었습니다. 포인터 주셔서 감사합니다.
Alex Polkhovsky

여기도 마찬가지입니다. 이것이 정답입니다. 그렇습니다. 많은 사람들이 명령 행 도구를 설치하지 않지만 제공된 첫 번째 추적에서 알 수 있듯이 여기서 문제는 아닙니다.
PatchyFog

이것은 실제로 맞습니다, 운이 좋은 나는 다른 곳에서 다른 오도 된 사람들 직후 에이 답변을 찾았습니다. 감사.
Hard-Boiled Wonderland

macosx는 사전 설치된 tcl과 함께 제공되지 않습니까?
Maysam Torabi

3

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



2

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


1

자체 업데이트에 오류가 있으며 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

0

나는 위의 @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는 모두 작동합니다)-처음부터 다시 시작하는 것이 더 빠를 수도 있지만 적어도 두 시간 이상 여유가 있어야합니다 (주 전원에 연결하십시오).

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



0

Mountain Lion 에서이 문제가 있었으며 실제로는 XPort 경로가 오래된 MacPorts와 관련이 있습니다 (베타가 설치된 여러 버전이 있음). -d 옵션으로 실행하고 /opt/local/var/macports/sources/rsync.macports.org/release/base에서 config.log 파일을 확인한 후 몇 가지 오류가보고되었습니다.

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

그리고 그것은 그것을 고쳤다.

이 유용한 페이지 에서 힌트를 얻었습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.