2011-11-01 13 views
5

rvm'yi kullanarak Ruby 1.9.3'ü yüklemeye çalışıyorum. Ancak, ne zaman yazın:Ruby yüklemesi hatası 1.9.3

rvm install 1.9.3 

aşağıdaki hatayı alıyorum: Mac OS X Lion ve Ruby benim şimdiki sürümünü çalıştırıyorum

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 olduğunu.

Düzenleme: 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

Yani make.logda ne var? – djdy

cevap

3

Bu readline ilgili bir sorundur. kaynağından readline kendini derleme deneyin: Ben Snow Leopard üzerinde 1.9.3 üzerinde sorunlar yaşamaya devam edilmiştir

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

de. Benim make.log şöyle görünür:

[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

basit, daha genel bir çözüm açıkça kusurlu paketini yüklemek ve daha sonra bu paketi ile yeniden yüklemektir. Benim durumumda, bu yüzden, openssl_missing üzerine iptal edildi: davanızı için

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

, bu durum büyük ihtimalle:

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

Bu tabii kendiniz olarak RVM yüklü olduğunu varsayar. Buna göre değiştirin ...

0

Hangi Xcode sürümünü kullanıyorsunuz - 4.1 veya 4.2? 4.2 ve Ruby ile ilgili bazı sorunlar var çünkü 4.2 ana derleyici olarak GCC yerine LLVM kullanıyor. here bilgilerinden bazıları 4.2'ye sahipseniz size yardımcı olabilir. Eğer 4.2 var ama 4.1 kadar uzanan sakıncası yoksa onların geliştiricinin sayfasından hala Apple'dan 4.1 indirmek mümkündür ama doğrusu gömülmüş.

İlgili konular