這是我第一次使用Ruby。我意識到不要使用sudo來安裝Gems,所以我遵循這個tutotrial(http://pragmaticstudio.com/blog/2010/9/23/install-rails-ruby-mac)來安裝RVM,以便我可以更新我的Ruby版本,然後安裝Middleman(http://middlemanapp.com/)。在OS X上通過RVM安裝Ruby時運行'make'時出錯Mountain Lion
RVM安裝工作,但在「#compiling」階段,我得到以下錯誤安裝Ruby 1.9.3時:
Error running 'make', please read /Users/Mark/.rvm/log/ruby-1.9.3-p385/make.log There has been an error while running make. Halting the installation.
我打開日誌文件,不像很多的我已經等問題可以看到,該文件不包含對'readline'的引用,而是對'編譯',我假定它涉及到Ruby安裝的'#compiling'階段。下面是輸出到make.log裏:
[2013-02-12 09:04:26] make
CC = clang
LD = ld
LDSHARED = clang -dynamic -bundle
CFLAGS = -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -pipe
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/Users/Mark/.rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.0 -I./include -I.
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace
SOLIBS =
compiling main.c
compiling dmydln.c
compiling dmyencoding.c
compiling version.c
compiling dmyversion.c
compiling miniprelude.c
compiling array.c
compiling bignum.c
bignum.c:2732:26: warning: while loop has empty body [-Wempty-body]
while (--ny && !zds[ny]); ++ny;
^
bignum.c:2732:26: note: put the semicolon on a separate line to silence this warning
1 warning generated.
compiling class.c
compiling compar.c
compiling complex.c
compiling dir.c
compiling dln_find.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling load.c
compiling proc.c
compiling file.c
compiling gc.c
gc.c:3060:1: warning: unused function 'chain_finalized_object' [-Wunused-function]
chain_finalized_object(st_data_t key, st_data_t val, st_data_t arg)
^
1 warning generated.
compiling hash.c
compiling inits.c
compiling io.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
regparse.c:582:15: error: implicit conversion loses integer precision: 'st_index_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32]
return t->num_entries;
~~~~~~ ~~~^~~~~~~~~~~
1 error generated.
make: *** [regparse.o] Error 1
如果我執行「make --version」我得到以下輸出:
GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This program built for i386-apple-darwin11.3.0
我在努力尋找精確匹配的問題,所以如果任何人都能幫上忙,那會很棒。
乾杯,
馬克。
你好馬克,嘗試一個乾淨的安裝,看看是否重現錯誤。你可以使用[Rails Installer](http://railsinstaller.org/#osx)。它也基於RVM。的 – 2013-02-12 09:48:06
可能重複[無法編譯紅寶石1.9.3(http://stackoverflow.com/questions/14592945/cannot-compile-ruby-1-9-3) – mpapis 2013-02-12 14:57:30