帮助在Lion GM上安装Ruby 1.9.2

时间:2011-07-04 16:27:54

标签: ruby-on-rails ruby xcode rvm

尝试在我的Lion GM开发环境中设置Ruby on Rails并遇到一些麻烦。安装了rvm,当我尝试安装ruby时,我总是在我的i5 iMAc上使用rvm install 1.9.2时出错。它到达

ruby-1.9.2-p180 - #compiling

并停止并显示以下错误消息:

ERROR: There has been an error while running make. Halting the installation.
update_terminal_cwd; 

in the log i get the following. Im also using Xcode 4.2 for lion. Thanks.


[2011-07-04 12:26:20] make 
gcc -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe -L.  -Wl,-u,_objc_msgSend   main.o dmydln.o dmyencoding.o dmyversion.o miniprelude.o array.o bignum.o class.o compar.o complex.o dir.o dln_find.o enum.o enumerator.o error.o eval.o load.o proc.o file.o gc.o hash.o inits.o io.o marshal.o math.o node.o numeric.o object.o pack.o parse.o process.o random.o range.o rational.o re.o regcomp.o regenc.o regerror.o regexec.o regparse.o regsyntax.o ruby.o safe.o signal.o sprintf.o st.o strftime.o string.o struct.o time.o transcode.o util.o variable.o compile.o debug.o iseq.o vm.o vm_dump.o thread.o cont.o ascii.o us_ascii.o unicode.o utf_8.o newline.o  dmyext.o -lpthread -ldl -lobjc  -o miniruby
<internal:prelude>: [BUG] Segmentation fault
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-darwin11.0.0]

-- control frame ----------
c:0003 p:0000 s:0006 b:0006 l:000005 d:000005 TOP   
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001a68 d:001a68 TOP   
---------------------------
-- Ruby level backtrace information ----------------------------------------
<internal:prelude>:0:in `<compiled>'

-- C level backtrace information -------------------------------------------

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

make: *** [.rbconfig.time] Abort trap: 6

3 个答案:

答案 0 :(得分:7)

我找到了答案here,@ Lehi Sanchez大多是正确的; Apple正在为llvm留下gcc,但这并不意味着Lion中不包含gcc(前提是你安装了Xcode / Developer Tools软件包)。它在/usr/bin/gcc-4.2。只需在.bashrc.zshrc或其他内容中包含以下内容:

 export CC=/usr/bin/gcc-4.2

或者,我猜你可以在使用rvm构建1.9.2之前在shell上触发该行。在任何一种情况下,请确保该行处于活动状态,然后触发您的rvm install 1.9.2和presto!

答案 1 :(得分:4)

Mac OS X Lion尚未发布。我已经阅读了有关Lion GM中的几个错误的报告(其中甚至像内核恐慌一样严重),这可能也是一个Lion(或Xcode 4.2)错误,如果没有,它是一个Ruby错误。 RVM当然不是原因,因为您的输出表明已编译的Ruby正在崩溃。

我建议你等到Lion被释放。

编辑:现在已发布Lion和Xcode 4.1,我发现问题已得到修复。

答案 2 :(得分:0)

我遇到了同样的问题。我检查了日志,发现了以下内容:

[2011-07-05 20:30:29]  ./configure --prefix=/Users/lsanchez/.rvm/rubies/ruby-1.8.7-p352 --enable-shared --disable-install-doc  
checking build system type... i686-apple-darwin11.0.0
checking host system type... i686-apple-darwin11.0.0
checking target system type... i686-apple-darwin11.0.0
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/Users/lsanchez/.rvm/src/ruby-1.8.7-p352':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

事实证明,苹果正在将gcc留给llvm。看起来他们甚至不把它包含在Lion中。