Eventmachine gem install fail

Solution 1:

I could install it, doing this steps:

1) tried a normal install:

gem install eventmachine

it fetched the version 1.0.3 of the gem, but failed in the make, because of a variable declaration conflit

2) edited the file:

c:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\eventmachine-1.0.3\ext\project.h

and commented the line 97

//typedef int pid_t;

for a more robust correction, checkout the solution here https://github.com/eventmachine/eventmachine/pull/450/files

3) then, i've opened command prompt, and went to the gem folder

c:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\eventmachine-1.0.3

and run:

gem build eventmachine.gemspec

You need git installed with the git.exe location in the PATH for this to work (such as C:\Users\YourUsername\AppData\Local\GitHub\PORTAB~1\bin).

4) it generated a eventmachine.gem file on the folder... So I've copied a file to a c:\tmp folder, and went to that folder and from there, I've typed:

gem install eventmachine-1.0.3.gem --local

And it installed successfully!

Solution 2:

This worked for me:

brew link openssl --force 

Solution 3:

Try

gem install eventmachine -- --with-cppflags=-I/usr/local/opt/openssl/include

Solution 4:

I got an error as below


C:\Ruby200-x64\lib\ruby\gems\2.0.0\gems\eventmachine-1.0.3>gem build eventmachine.gemspec Invalid gemspec in [eventmachine.gemspec]: No such file or directory - git ls-files

ERROR: Error loading gemspec. Aborting.

However, I kept the project.h opened in textpad and tried to do gem install eventmachine. At one point, textpad will ask a confirmation to reload project.h as the new file is fetched from gem install command.. just give reload and comment the line //typedef int pid_t;.. Then the compilation went through..

basically, it takes a while to start the compilation after fetching the gem project files. Just use that time to comment htis line.. It worked for me.. may not work for everyone.

Cheers!

Solution 5:

I had the same problem and successfully able to run it by adding below at the beginning of the Gemfile:

gem 'eventmachine', :git => 'git://github.com/eventmachine/eventmachine.git', :branch => 'master'

Before that I uninstalled eventmachine.