Ruby stopped working on my brother's machine recently.
gem
commandsrails server
rails console
All failed with the following error:
$ irb
irb(main):001:0> require 'digest/sha1'
LoadError: dlopen(~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle, 9): Symbol not found: _rb_Digest_SHA1_Finish
Referenced from: ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
Expected in: flat namespace
in ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle - ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/x86_64-darwin12.2.0/digest/sha1.bundle
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ~/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from (irb):1
from ~/.rbenv/versions/2.0.0-p0/bin/irb:12:in `<main>'
He tried different versions of Ruby. Reinstalling everything with rvm
. Running rvm implode
and reinstalling rvm
. Switching to rbenv
. Several Rubies installed via ruby-build
. brew install ruby
.
All had the same problem.
If he uninstalled all rubies, the OS supplied version in /usr/bin/ruby
worked. But it's 1.8.7.
After hours of troubleshooting, we arrived at the solution below. I hope it helps you avoid some pain.
Possible solutions:
$ unset C_INCLUDE_PATH
and reinstall Ruby
This is the solution that worked for me.
$ echo $C_INCLUDE_PATH
If C_INCLUDE_PATH
is set, it will break Ruby builds. Remove it from your environment; either temporarily with $ unset C_INCLUDE_PATH
, or permanently (might be in .bashrc, .profile, .bash_profile); then reinstall ruby.
It might be related to OpenSSL, RVM, XCode's Command Line Tools (gcc), or other build issues.
See this answer if the previous solution didn't work.
For anyone, like me, coming here because of an error like this:
LoadError: dlopen(/Users/sebkomianos/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin13.0.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method
Referenced from: /Users/sebkomianos/.rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/x86_64-darwin13.0.0/openssl.bundle
Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
One solution (taken from here) might be to reinstall your version of ruby. eg: rbenv install 2.0.0-p247
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With