Fitz
Fitz

Reputation: 313

Rails/Ruby Error When Creating Database: Unable to load the EventMachine C extension

Update:

the eventmachine gem is installed and in my gemfile:

 eventmachine (1.0.0, 0.12.10)

Please help! Trying to create a database with the following:

Fitzs-MacBook-Pro:twilio_insanity Fitz$ rake db:create'

Returns the following error:

Unable to load the EventMachine C extension; To use the pure-ruby reactor, require 'em/pure_ruby' rake aborted! cannot load such file -- rubyeventmachine /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/eventmachine-1.0.0/lib/eventmachine.rb:8:in ' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/thin-1.5.0/lib/thin.rb:7:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/gems/thin-1.5.0/lib/thin.rb:7:in ' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:68:in block (2 levels) in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:66:in block in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in each' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler/runtime.rb:55:in require' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@global/gems/bundler-1.2.3/lib/bundler.rb:128:in require' /Users/Fitz/Desktop/twilio_insanity/config/application.rb:7:in' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in require' /Users/Fitz/Desktop/twilio_insanity/Rakefile:5:in' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in eval' /Users/Fitz/.rvm/gems/ruby-1.9.3-p327@rails3tutorial2ndEd/bin/ruby_noexec_wrapper:14:in ' (See full trace by running task with --trace)

```

Upvotes: 7

Views: 12164

Answers (7)

Nazneen
Nazneen

Reputation: 266

Just try the following:

apt-get install libssl0.9.8

It fixed the error on Ubuntu 12.4

Upvotes: 0

Nafeez Quraishi
Nafeez Quraishi

Reputation: 6168

I am on windows 10. C:\Ruby25-x64\lib\ruby\gems>bundle install showed Could not locate Gemfile error(though, i am having bundle gem installed and present at \gems location). Following worked for me to resolve Unable to load the EventMachine C extension error:

  1. gem uninstall eventmachine
  2. gem install eventmachine --platform ruby

Upvotes: 1

dCSeven
dCSeven

Reputation: 905

I got the same error on Windows after upgrading ruby from 1.9.3 to 2.4. I tried every fix I found but the only thing that helped in the end was (not that obvious and therefore hard to find) to reinstall the new Ruby again with 32 bit instead of 64.

Also I installed Eventmachine with

gem install eventmachine --platform=ruby

to force native compilation, since I always get problems with msgpack, that can be solved like this (haven't tried it with the default x86-mingw32)

Upvotes: 3

Siwei
Siwei

Reputation: 21557

try to re-install the gem 'eventmachine'

$ gem uninstall eventmachine

then

$ bundle install  ( in the same folder with your Gemfile) 

or just

$ gem install eventmachine ( if you are not using the Gemfile) 

see: https://stackoverflow.com/a/15140634/445908

Upvotes: 11

suda
suda

Reputation: 2644

If any of this solutions don't work, try reinstalling eventmachine gem from sources using method that worked for me on OS X: https://stackoverflow.com/a/20950026/83055

Upvotes: 0

Fitz
Fitz

Reputation: 313

Someone kind of answered in comments...see below.

Basically though I had seperate versions of Ruby, which was getting confusing because some gems were only installed on certain versions of ruby.

Fix was totally uninstalling ruby and rails, then reinstalling. Fixed it!

This helped:

This comment in another thread seems promising for your issue. Can you ensure that you have "gem eventmachine" or similar in your Gemfile, and can successfully bundle? – Scott Helm Jan 6 at 6:24

Upvotes: 4

plasticide
plasticide

Reputation: 1240

Make sure you bundle eventmachine in your Gemfile

gem "eventmachine"

Then bundle install. This comment seemed relevant to you.

Upvotes: -2

Related Questions