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
.