Problem installing Ruby 1.9.2 on Mac OS Lion
I am running Lion, utilizing Xcode 4, have RVM and homebrew installed but am only able to run ruby 1.8.7
spurvis:~ rogue$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
spurvis:~ rogue$
I've read through several threads related to this topic but nothing seems to work for my problem:
spurvis:~ rogue$ rvm install 1.9.2
Installing Ruby from source to: /Users/rogue/.rvm/rubies/ruby-1.9.2-p290, this may take a while depending on your cpu(s)...
ruby-1.9.2-p290 - #fetching
ruby-1.9.2-p290 - #extracted to /Users/rogue/.rvm/src/ruby-1.9.2-p290 (already extracted)
Fetching yaml-0.1.4.tar.gz to /Users/rogue/.rvm/archives
Extracting yaml-0.1.4.tar.gz to /Users/rogue/.rvm/src
Configuring yaml in /Users/rogue/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/rogue/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/rogue/.rvm/usr
ruby-1.9.2-p290 - #configuring
ruby-1.9.2-p290 - #compiling
ERROR: Error running 'make ', please read /Users/rogue/.rvm/log/ruby-1.9.2-p290/make.log
ERROR: There has been an error while running make. Halting the installation.
The make.log gives me the following info:
[2011-08-08 11:50:52] make
/usr/bin/gcc-4.2 -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initial
rbconfig.rb unchanged
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./enc/make_encmake.rb -- builtin-encs="ascii.o us_ascii.o unicode.o utf_8.
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb -I. ./tool/compile_prelude.rb ./prelude.rb ./enc/prelude.rb ./gem_prelude
/usr/bin/gcc-4.2 -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initial
ar rcu libruby.1.9.1-static.a dln.o encoding.o version.o array.o bignum.o class.o compar.o complex.o dir.o dln_find.o enum.o enumera
/usr/bin/gcc-4.2 -dynamiclib -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace -install_name /Users/r
: -w -L 'Init_*' -L '*_threadptr_*' libruby.1.9.1.dylib
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/generic_erb.rb -c -o encdb.h ./template/encdb.h.tmpl ./enc enc
encdb.h unchanged
make -f enc.mk RUBY="./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb " MINIRUBY="./miniruby -I./lib -I.ext/common -I./- -r
make[1]: Nothing to be done for `enc'.
make -f enc.mk RUBY="./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb " MINIRUBY="./miniruby -I./lib -I.ext/common -I./- -r
make[1]: Nothing to be done for `srcs'.
./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb ./tool/generic_erb.rb -c -o transdb.h ./template/transdb.h.tmpl ./enc/tra
transdb.h unchanged
make -f enc.mk RUBY="./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb " MINIRUBY="./miniruby -I./lib -I.ext/common -I./- -r
make[1]: Nothing to be done for `./enc/trans'.
make -f enc.mk RUBY="./miniruby -I./lib -I.ext/common -I./- -r./ext/purelib.rb " MINIRUBY="./miniruby -I./lib -I.ext/common -I./- -r
mkdir -p .ext/x86_64-darwin11.0.0/enc .ext/x86_64-darwin11.0.0/enc/trans enc enc/trans
compiling -test-/bug-3662
make[1]: Nothing to be done for `all'.
compiling -test-/string
make[1]: Nothing to be done for `all'.
compiling bigdecimal
make[1]: Nothing to be done for `all'.
compiling continuation
make[1]: Nothing to be done for `all'.
compiling coverage
make[1]: Nothing to be done for `all'.
compiling curses
compiling openssl
/usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin11.0.0 -I../.././include - I../.././ext/openssl -DRUBY_EXTCONF_H="extconf.h"
ossl_bio.c: In function ‘ossl_obj2bio’:
ossl_bio.c:26: error: called object ‘".rnd"’ is not a function
ossl_bio.c:42: warning: implicit conversion shortens 64-bit value into a 32-bit value
make[1]: *** [ossl_bio.o] Error 1
make: *** [mkmain.sh] Error 1
Per other suggestions I tried adding export CC=/usr/bin/gcc-4.2 to my bashrc but that didn't solve the problem either.
Please help!
Make sure you have the latest xcode available (you'll need to update it if you're running a copy from snow leopard. Update RVM rvm get head and then try again.
I had problems compiling ree but 1.9.2 worked fine, you can try adding this function to .profile in your home directory, it'll compile with gcc (instead of the default LLVM)
# using_gcc for 64btt compiling on lion (solves compatability issues)
function using_gcc() {
env CC="/usr/bin/gcc-4.2" ARCHFLAGS="-arch x86_64" ARCHS="x86_64" $*
}
Then run using_gcc rvm install 1.9.2
If you're running a fresh copy of Lion & Xcode 4.2, you're going to need to install the GCC 4.2 dev libraries first - they aren't included in a fresh Xcode 4.2 install.
Then pass the CC="/usr/bin/gcc-4.2" flag when installing your rvm.
Be sure to rvm remove any previous installation attempts first.
If you want to get rvm install ree with ruby 1.8.7 to work, this solved the problem for me:
# using_gcc for 32btt compiling on lion (solves compatability issues)
function using_gcc() {
env CC="/usr/bin/gcc-4.2" ARCHFLAGS="-arch x86_32" ARCHS="x86_32" $*
}
#then
using_gcc rvm install ree
Basically just changing "64" to "32" in the other answer.
链接地址: http://www.djcxy.com/p/85876.html