14

rvmを1.15.8にアップグレードし、zshで問題が発生した後、1.15.7に戻しました。ダウングレード後、Ruby 1.9以降のバージョンは正常に戻りましたが、1.8.7は再度インストールされません。

発生している2つのエラーがあります。

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つは1.8.7です。私は水中で死んでいます。これは、MountainLionとrvmの問題のようです。誰かが私を正しい方向に向けることができますか?

アップデート:

「インストール」だけでなく「再インストール」を行うことで、最初のエラーを克服しました。1.8.7-p352は、コマンド「rvmlistrubies」によって指定されたルビーのリストに含まれていませんでした。

4

2 に答える 2

33

ruby1.8.7によるtcl/tkの検出に問題があります。解決策は、それを無効にすることです。

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

tcl / tkが必要な場合の他の解決策:https ://stackoverflow.com/a/11666019/497756

于 2012-09-11T12:02:14.760 に答える
6

私はここでsfについて2つの同様の質問をすることになったと思います。私の主な問題は、Mountain Lionのtcl.hインクルードファイル(場所:/usr/include/tcl.h symlinked)が、「X11/Xlib.h」への内部参照を解決できないことでした。homebrewを介してtclとtkをインストールすると、解決可能なXlib.hへのパスを生成することで問題が解決すると思いました。だから私は走った:

brew install tcl

と:

brew install tk

と:

rvm remove 1.8.7-p352
rvm install 1.8.7-p352

そしてそれはうまくいった。しかし、上記のMichalの答えは、私が思うに同じように機能したでしょう。この答えは、tclとtkを必要とする人々がそれを構築するのを助けるのに役立ちます。

于 2012-09-11T13:30:06.600 に答える