2011-11-01 4 views
5

rvm을 사용하여 Ruby 1.9.3을 설치하려고합니다. 그러나, 내가 입력 :ruby ​​1.9.3을 설치하는 중 오류가 발생했습니다.

rvm install 1.9.3 

나는 다음과 같은 오류가 발생합니다 : 나는 맥 OS X 사자와 루비의 내 현재 버전을 실행하고있어

ERROR: Error running 'make ', please read /Users/nick/.rvm/log/ruby-1.9.3-rc1/make.log 
ERROR: There has been an error while running make. Halting the installation. 

은 1.9.2이다.

편집 : make.log는 :

make[1]: Entering directory `/Users/nick/.rvm/src/ruby-1.9.3/ext/readline' 
/usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin11.0.0 -I../.././include -I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -I/Users/nick/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -fno-common -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 -o readline.o -c readline.c 
readline.c: In function ‘username_completion_proc_call’: 
readline.c:1386: error: ‘username_completion_function’ undeclared (first use in this function) 
readline.c:1386: error: (Each undeclared identifier is reported only once 
readline.c:1386: error: for each function it appears in.) 
make[1]: *** [readline.o] Error 1 
make[1]: Leaving directory `/Users/nick/.rvm/src/ruby-1.9.3/ext/readline' 
make: *** [mkmain.sh] Error 1 
+0

그럼 make.log에 무엇이 있습니까? – djdy

답변

3

readline에 문제가 있습니다. 소스에서 readline 직접 컴파일보십시오 : 나는 스노우 레오파드 (Snow Leopard)에 1.9.3에 문제로 실행 된

curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz 
tar xzvf readline-6.1.tar.gz 
cd readline-6.1 
./configure --prefix=/usr/local 
make 
sudo make install 

Source

0

, 너무. 내 make.log는 다음과 같습니다.

[2011-11-06 16:22:52] make 
CC = /usr/bin/gcc-4.2 
LD = ld 
LDSHARED = /usr/bin/gcc-4.2 -dynamiclib 
CFLAGS = -O3 -ggdb -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 -fno-common -pipe 
XCFLAGS = -include ruby/config.h -include ruby/missing.h -fvisibility=hidden -DRUBY_EXPORT 
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I. -I.ext/include/x86_64-darwin10.8.0 -I./include -I. 
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -install_name /Users/strike/.rvm/rubies/ruby-1.9.3-p0/lib/libruby.1.9.1.dylib -current_version 1.9.1 -compatibility_version 1.9.1 -Wl,-unexported_symbol,_Init_* -Wl,-unexported_symbol,*_threadptr_* -Wl,-u,_objc_msgSend 
SOLIBS = 
compiling dmyencoding.c 
compiling array.c 
compiling bignum.c 
compiling dir.c 
compiling enum.c 
compiling load.c 
compiling file.c 
compiling gc.c 
gc.c: In function ‘initial_expand_heap’: 
gc.c:1112: warning: implicit conversion shortens 64-bit value into a 32-bit value 
compiling hash.c 
compiling io.c 
compiling marshal.c 
compiling numeric.c 
compiling object.c 
compiling parse.c 
compiling process.c 
compiling re.c 
compiling ruby.c 
compiling util.c 
compiling variable.c 
compiling debug.c 
linking miniruby 
rbconfig.rb unchanged 
generating enc.mk 
compiling encoding.c 
generating prelude.c 
compiling prelude.c 
linking static-library libruby.1.9.1-static.a 
linking shared-library libruby.1.9.1.dylib 
generating encdb.h 
encdb.h unchanged 
making enc 
make[1]: Nothing to be done for `enc'. 
making srcs under enc 
make[1]: Nothing to be done for `srcs'. 
generating transdb.h 
transdb.h unchanged 
making trans 
make[1]: Nothing to be done for `./enc/trans'. 
making encs 
file2lastrev.rb: does not seem to be under a vcs: . 
make: [.revision.time] Error 1 (ignored) 
./revision.h unchanged 
/bin/sh: line 0: cd: ext/-test-/add_suffix: No such file or directory 
make[1]: *** [ext/-test-/add_suffix/all] Error 1 
make: *** [build-ext] Error 2 
12

더 간단하고보다 일반적인 해결책은 문제가되는 패키지를 명시 적으로 설치 한 다음 해당 패키지로 다시 설치하는 것입니다. 내 경우에는, 너무, openssl_missing에 중단되었다 : 귀하의 경우를 들어

rvm pkg install openssl 
rvm install 1.9.3 -C "--with-openssl-dir=$HOME/.rvm/usr" 

를, 그것은 아마 :

rvm pkg install readline 
rvm install 1.9.3 -C "--with-readline-dir=$HOME/.rvm/usr" 

이 물론 자신으로 RVM을 설치했다고 가정합니다. 그에 따라 변경하십시오 ...

0

사용중인 Xcode 버전은 4.1 또는 4.2입니까? 4.2에서는 GCC 대신에 LLVM을 사용하기 때문에 4.2와 Ruby에는 몇 가지 문제가 있습니다. 일부 정보 here은 4.2가있을 경우 도움이 될 수 있습니다. 4.2가 있지만 4.1로 돌아가도 괜찮다면 개발자 페이지에서 여전히 애플로부터 4.1을 다운로드 할 수 있지만 오히려 묻혀 있습니다.

관련 문제