Problem installing Ruby 1.9.2 on Mac OS Lion

I start Lion using Xcode 4, RVM and homebrew are installed, but I can run ruby ​​1.8.7

  spurvis: ~ rogue $ ruby ​​-v
     ruby 1.8.7 (2010-01-10 patchlevel 249) [universal-darwin11.0]
     spurvis: ~ rogue $ 

I read several topics related to this topic, but nothing works 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.

Make.log gives me the following information:

     [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 ./ te  mplate / 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 

In other sentences, I tried adding the export CC = / usr / bin / gcc-4.2 to my bashrc, but that also did not solve the problem.

Please, help!

+6
source share
3 answers

Make sure you have the latest xcode installed (you need to update it if you are using a copy from the snow leopard. Update the 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 in .profile to your home directory, it will 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

+5
source

If you are using a new copy of Lion and Xcode 4.2, you must first install the GCC 4.2 dev library - they are not included in the new installation of Xcode 4.2.

Then, when installing rvm, pass the CC="/usr/bin/gcc-4.2" flag.

Be sure to rvm remove to complete any previous installation attempts.

+1
source

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 another answer.

0
source

Source: https://habr.com/ru/post/894563/


All Articles