Reputation: 1601
I'm running into issues trying to install Rails on OS X Lion using RVM.
So far, I have done the following:
rvm install 1.8.7
. Note: I need to be using 1.8.7 and not 1.9.2.rvm 1.8.7
.rvm gemset create rails3
.rvm use 1.8.7@rails3
.To install Rails I ran the command gem install rails
but I got the following error:
/Users/m/.rvm/rubies/ruby-1.8.7-p334/lib/ruby/1.8/timeout.rb:60: [BUG] Segmentation fault
The same error happens when trying to run any gem command so I don't think it's really a problem with Rails.
Judging by the links below, I don't seem to be the only person having this issue:
http://twitter.com/#!/pingles/status/66261101351927809 and https://github.com/carlhuda/bundler/issues/1058
Upvotes: 83
Views: 28918
Reputation: 31477
I had the same issue on my system. I installed the Xcode command line tools from Apple which ships with LLVM compiler and without an LLVM free one.
Ruby 1.8.7 won't work with an LLVM compiler not even with CC=clang
, so installing an LLVM free gcc solves the problem.
There are multiple options listed here:
https://github.com/mxcl/homebrew/wiki/Custom-GCC-and-cross-compilers
Long story short, install GCC v4.2 with Homebrew:
brew install https://raw.github.com/Homebrew/homebrew-dupes/master/apple-gcc42.rb
and then install ruby 1.8.7:
CC=gcc-4.2 rvm install 1.8.7
Upvotes: 6
Reputation: 38458
Check which version of gcc you have like this:
ls -Al `which gcc-4.2`
I followed the instructions here: http://robots.thoughtbot.com/post/27985816073/the-hitchhikers-guide-to-riding-a-mountain-lion
brew update
brew tap homebrew/dupes
brew install apple-gcc42
Then reinstall:
Check again what your path to gcc is (to use for CC=):
ls -Al `which gcc-4.2`
(optional) You can set this in your .bashrc for example:
export CC=/usr/bin/gcc-4.2
(optional) remove any old version of ruby
rvm remove 1.8.7
Then:
CC=/usr/local/bin/gcc-4.2 rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
or if you have set CC in your profile
rvm --verify-downloads 1 reinstall 1.8.7-p357 --without-tcl --without-tk
Note the flags on the rvm install. I had trouble verifying the checksum on the ftp server and some problems with tck and what not. You may be able to omit those flags.
Also: you might need to remove an old version of your gemset:
rvm gemset delete <gemset>
Then
gem install bundler
bundle install
Hope this helps.
Upvotes: 2
Reputation: 1601
Fixed it!
The answer was actually on one of the links I posted above. Before installing a version of ruby (rvm install 1.8.7) I needed to run "export CC=/usr/bin/gcc-4.2
". With that in place, everything ran smoothly.
If you don't want to have CC
permanently exported, you can do CC=/usr/bin/gcc-4.2 rvm install 1.8.7
If you have already installed ruby 1.8.7. Just do CC=/usr/bin/gcc-4.2 rvm reinstall 1.8.7
Upvotes: 77
Reputation: 604
My solution was to override the /usr/bin/gcc symlink in the terminal. Here's how I did it:
https://plus.google.com/101970693023462019144/posts/eYVLvMCqTmc
This not only fixed my RVM installation, but also made sure that installing gems with native extensions (like rmagick) work.
Upvotes: 0
Reputation: 36273
Instead of "export CC=/usr/bin/gcc-4.2
" do "export CC=gcc
" (xCode 4.2.x should be installed).
Upvotes: 4
Reputation: 876
Make sure that you remove 1.8.7 if you already installed it before using "export CC=/usr/bin/gcc-4.2
" by doing "rvm remove 1.8.7
"
Upvotes: 7
Reputation: 328
I have same problem only for arch x86_64, when I comment line in my ~/.rvmrc
rvm_archflags="-arch x86_64"
Open a new terminal and tried to install ruby-1.8.7 again
rvm install 1.8.7
It was successful.
Upvotes: 1
Reputation: 5457
Even with all the other suggestions on this page I was still getting segfaults and getting frustrated, so I said "screw it!" and use the system-provided Ruby 1.8.7:
rvm use system
You need to use sudo for installing gems, but still waay less headache.
Upvotes: 0
Reputation: 10825
If you have installed Xcode 4.2, it actually doesn't install non-LLVM gcc anymore, so you have to add it. For some reason downgrading to 4.1 after you've installed 4.2 doesn't work correctly (at least it didn't for me and others have had similar issues).
After quite a bit of thrashing, this is what finally worked for me:
Close any open terminal windows, open a fresh one and
rvm remove ree
export CC=/usr/bin/gcc-4.2
rvm install ree
This worked for me with rvm 1.8.6, OS X 10.7.2 and gcc-4.2 version 4.2.1 (Apple build 5666).
If you have already installed Xcode 4.1, resist the urge to upgrade to 4.2 and you should be okay.
Upvotes: 24
Reputation: 21
Using macport and ruby-1.9.x version. I did successfully install rails with ruby gem.
Upvotes: 1
Reputation: 507
CC=/usr/bin/gcc-4.2 rvm install 1.8.7
did not work for me, I used CC=/usr/bin/gcc rvm install 1.8.7
and it did (checking with "which gcc
")
Upvotes: 0
Reputation: 1150
This is not related to RVM, but if what you are looking for is a local development environment for Lion you may want to give a try to RubyStack It is a free, open source all-in-one installer for Apache, MySQL, Ruby, Rails, etc. It does not require compilation and it is self-contained so if you do not like it you can simply remove the installation directory and you are done. Disclaimer: I'm one of the RubyStack developers :)
Upvotes: 0
Reputation: 2824
If you're using RVM in a development workflow, I added a fix in an .rvmrc file for OS X Lion.
https://gist.github.com/1112962
(updated file name)
Upvotes: 0
Reputation: 221
If that still doesn't work add --force. So this becomes:
CC=/usr/bin/gcc-4.2 rvm install ruby-1.8.7 --force
Upvotes: 22