2012-09-11 2 views
14

나는 rvm을 1.15.8로 업그레이드 한 다음 zsh에 문제가 생겨 1.15.7로 내려갔습니다. 다운 그레이드 후 내 Ruby 1.9+ 버전은 정상적으로 돌아 왔지만 1.8.7은 다시 설치되지 않습니다.rvm은 더 이상 Mac OS X Mountain Lion에 1.8.7-p352를 설치할 수 없습니다.

Error running 'patch -F 25 -p1 -N -f <"/Users/me/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch"', please read /Users/me/.rvm/log/ruby-1.8.7-p352/patch.apply.stdout-rouge-fix.log 

을 해당 파일의 내용은 다음과 같습니다 :

[2012-09-11 01:05:59] patch -F 25 -p1 -N -f <"/Users/me/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch" 
patching file lib/mkmf.rb 
Hunk #1 FAILED at 201. 
1 out of 1 hunk FAILED -- saving rejects to file lib/mkmf.rb.rej 

과 :

Error running 'make ', please read /Users/me/.rvm/log/ruby-1.8.7-p352/make.log 

는 make를 실행하는 동안 오류가 발생했습니다

이 발생하는 두 가지 오류가 있습니다 . 설치를 중지합니다. 내가 지원하는 응용 프로그램의

Fail to find [tclConfig.sh, tkConfig.sh] 
Use MacOS X Frameworks. 

Find Tcl/Tk libraries. Make tcltklib.so which is required by Ruby/Tk. 
gcc-4.2 -I. -I../.. -I../../. -I../.././ext/tk -DHAVE_RB_SAFE_LEVEL -DHAVE_RB_HASH_LOOKUP -DHAVE_RB_PROC_NEW -DHAVE_RB_OBJ_TAINT -DHAVE_ST_PTR -DHAVE_ST_LEN -DRUBY_VERSION=\"1.8.7\" -DRUBY_RELEASE_DATE=\"2011-06-30\" -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -DWITH_TCL_ENABLE_THREAD=0 -fno-common -g -O2 -fno-common -pipe -fno-common -c stubs.c 
In file included from stubs.c:10: 
/usr/include/tk.h:78:23: error: X11/Xlib.h: No such file or directory 
In file included from stubs.c:10: 
/usr/include/tk.h:549: error: expected declaration specifiers or ‘...’ before ‘Window’ 
/usr/include/tk.h:549: error: ‘Window’ declared as function returning a function 
/usr/include/tk.h:552: error: expected declaration specifiers or ‘...’ before ‘XEvent’ 
/usr/include/tk.h:561: error: expected specifier-qualifier-list before ‘Tk_ClassCreateProc’ 
/usr/include/tk.h:655: error: expected specifier-qualifier-list before ‘Bool’ 
/usr/include/tk.h:677: error: expected specifier-qualifier-list before ‘Bool’ 
/usr/include/tk.h:756: error: expected specifier-qualifier-list before ‘Display’ 
/usr/include/tk.h:902: error: expected declaration specifiers or ‘...’ before ‘XPoint’ 
/usr/include/tk.h:996: error: expected declaration specifiers or ‘...’ before ‘Display’ 

한 1.8.7입니다 :

해당 파일의 내용이 (오류로 시작하는 처음 몇 줄)입니다. 나는 물에서 죽었다. 이것이 Mountain Lion vs. rvm의 문제 일 수 있습니다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까?

업데이트 : 수행하여 첫 번째 오류 극복

는 대신 "설치"의 "다시". 1.8.7-p352가 "rvm list rubies"명령에 의해 주어진 루비 목록에 없더라도.

+0

http://serverfault.com/ 또는 http://superuser.com/ – maxdec

+0

에 게시해야합니다. @ 대부분 나는 RVM 관련 질문에 답을합니다. 대부분은 여기에 게시되어 있습니다. 응답 시간이 길어질 가능성이 있습니다. – mpapis

답변

33

은 루비 1.8.7에 의해 TCL/TK의 검출에 문제가 솔루션을 비활성화 할 수 있습니다 : TCL/TK가 필요

rvm reinstall 1.8.7 --without-tcl --without-tk 

다른 솔루션 : https://stackoverflow.com/a/11666019/497756

+0

tcl/tk 란 무엇입니까? 내가 그 (것)들을 필요로하는 ㄴ다는 것을 나는 어떻게 알 수 있는가? 편집 : 루비 GUI를 만들 때 tcl 및 tk 만 필요합니까? (http://rubylearning.com/satishtalim/ruby_tk_tutorial.html) – crispy

+0

만약 당신이 무엇을 알지 못한다면, 당신이 그것을 필요로하지 않는다. 그것은 정말로 오래된 방법이며 인터페이스가 매우 못생긴 것처럼 거의 사용되지 않는다. – mpapis

+0

그것은 마치 이들을 기본적으로 포함시키는 것은 매우 나쁜 생각입니다. – tadman

6

나는 생각 여기 sf에서 두 가지 비슷한 질문을했다. 내 주요한 문제는 "X11/Xlib.h"에 대한 내부 참조를 해결할 수없는 Mountain Lion (location : /usr/include/tcl.h symlinked)의 tcl.h 파일을 포함하는 것이 었습니다. homebrew를 통해 tcl 및 tk를 설치하면 해결할 수있는 Xlib.h에 대한 경로를 생성하여 문제를 해결할 수 있다고 생각했습니다.

brew install tcl 

과 :

brew install tk 

과 : 그래서 도망

rvm remove 1.8.7-p352 
rvm install 1.8.7-p352 

를하고는했다. 그러나 위의 미칼의 대답은 내가 생각했던 것처럼 잘 작동했을 것입니다. 이 답변은 사람들이 tcl과 tk가 필요한 빌드를 도와주는 역할을합니다.

+0

자작농은 더 이상 tcl과 tk를 갖고 있지 않습니다. –

+0

'brew install homebrew/dupes/tcl-tk'가 작동해야한다고 생각합니다. –

관련 문제