gem install eventmachine -v '1.2.7' Failing

168 views Asked by At

While setting up Jekyll with Ruby 3.2.1 bundle was failing as follows:

current directory: /Users/chandanj/.rvm/gems/ruby-3.2.1/gems/eventmachine-1.2.7/ext
make DESTDIR\= sitearchdir\=./.gem.20230620-52033-h7p7oy sitelibdir\=./.gem.20230620-52033-h7p7oy
compiling binder.cpp
In file included from binder.cpp:20:
./project.h:119:10: fatal error: 'openssl/ssl.h' file not found
#include <openssl/ssl.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make: *** [binder.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/chandanj/.rvm/gems/ruby-3.2.1/gems/eventmachine-1.2.7 for inspection.
Results logged to /Users/chandanj/.rvm/gems/ruby-3.2.1/extensions/arm64-darwin-22/3.2.0/eventmachine-1.2.7/gem_make.out

An error occurred while installing eventmachine (1.2.7), and Bundler cannot continue.
Make sure that `gem install eventmachine -v '1.2.7' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  jekyll-last-modified-at was resolved to 1.3.0, which depends on
    jekyll was resolved to 4.3.2, which depends on
      em-websocket was resolved to 0.5.3, which depends on
        eventmachine

After a lot of trial of several solutions, following worked, thus adding it here for anyone facing same issue.

1

There are 1 answers

0
Indyarocks On

Remove Ruby 3.2.1

$>rvm uninstall 3.2.1
ruby-3.2.1 - #removing src/ruby-3.2.1 - please wait
ruby-3.2.1 - #removing rubies/ruby-3.2.1 - please wait

Install Ruby 3.2.1 with [email protected]

➜ rvm install 3.2.1 --with-openssl-dir=/opt/homebrew/opt/[email protected]
Checking requirements for osx.

Post this, bundle succeeds, however, you'll start seeing following warning:

 ➜ bundle
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
Fetching gem metadata from https://rubygems.org/.........

To fix this, do bundle update --bundler and the warning will go away.