gem install eventmachine -v '1.2.7' error - ruby-on-rails

I am new to Ruby on Rails and I'm trying to create a website using the same. I have added a few gems to my gem file and trying to bundle them, but encounter this error.
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.
I have tried doing gem install eventmachine -v '1.2.7' but get this error:
ERROR: Failed to build gem native extension.
current directory: /.rvm/gems/ruby-3.0.0/gems/eventmachine-1.2.7/ext
make "DESTDIR=" clean
current directory: /.rvm/gems/ruby-3.0.0/gems/eventmachine-1.2.7/ext
make "DESTDIR=" 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
Can someone please help?

#include <openssl/ssl.h>
You seem to be missing the c++ development source necessary for ruby to install openssl.
Install libssl-dev and try the gem installation again. You may be missing other development libraries as well.

Related

Fail to Launch the server

I tried to Launch rails server on vagrant but I can't.
The error message is here.
Could not find gem 'sqlite3 (~> 1.4.0)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
I did bundle install but...
An error occurred while installing sassc (2.3.0), and Bundler cannot
continue.
Make sure that `gem install sassc -v '2.3.0' --source 'https://rubygems.org/'`
succeeds before bundling.
then I did
$ gem install sassc -v '2.3.0' --source 'https://rubygems.org/'
the message is
Building native extensions. This could take a while...
ERROR: Error installing sassc:
ERROR: Failed to build gem native extension.
current directory: /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sassc-2.3.0/ext
/home/vagrant/.rbenv/versions/2.7.1/bin/ruby -I /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/2.7.0 -r ./siteconf20200422-11227-g7m1en.rb extconf.rb
creating Makefile
current directory: /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sassc-2.3.0/ext
make "DESTDIR=" clean
current directory: /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sassc-2.3.0/ext
make "DESTDIR="
compiling ./libsass/src/ast.cpp
cc1plus: error: unrecognized command line option "-std=c++11"
make: *** [ast.o] Error 1
make failed, exit code 2
Gem files will remain installed in /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sassc-2.3.0 for inspection.
Results logged to /home/vagrant/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/extensions/x86_64-linux/2.7.0/sassc-2.3.0/gem_make.out
then I did "$ rails server -b 192.168.33.10 -d"
but
Could not find gem 'sqlite3 (~> 1.4.0)' in any of the gem sources listed in your Gemfile.
Run `bundle install` to install missing gems.
The result is same...
What should I do next?

How to fix ' Failed to build gem native extension' error with bootsnap with Windows

I am using Windows, and I just installed Ruby on Rails, ruby is version 2.6.3p62 (2019-04-16 revision 67580) [x64-mingw32], rails is version 6.0.0.
When running rails new blog (following this tutorial) bundle install runs.
I have tried reinstalling Ruby, changing its version, and even removing bootsnap and running something else, but even when trying to install the puma gem I get the same error.
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory:
C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/ext/bootsnap
C:/Ruby26-x64/bin/ruby.exe -I C:/Ruby26-x64/lib/ruby/2.6.0 -r
./siteconf20191028-6188-1rw29js.rb extconf.rb
creating Makefile
current directory:
C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/ext/bootsnap
make "DESTDIR=" clean
current directory:
C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5/ext/bootsnap
make "DESTDIR="
generating bootsnap-x64-mingw32.def
compiling bootsnap.c
linking shared-object bootsnap/bootsnap.so
C:/Ruby26-x64/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
bootsnap.o:bootsnap.c:(.text+0x557): undefined reference to `__strcat_chk'
C:/Ruby26-x64/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
bootsnap.o:bootsnap.c:(.text+0xa07): undefined reference to `__chk_fail'
collect2.exe: error: ld returned 1 exit status
make: *** [Makefile:261: bootsnap.so] Error 1
make failed, exit code 2
Gem files will remain installed in
C:/Ruby26-x64/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.5 for inspection.
Results logged to
C:/Ruby26-x64/lib/ruby/gems/2.6.0/extensions/x64-mingw32/2.6.0/bootsnap-1.4.5/gem_make.out
An error occurred while installing bootsnap (1.4.5), and Bundler cannot
continue.
Make sure that `gem install bootsnap -v '1.4.5' --source
'https://rubygems.org/'` succeeds before bundling.
Actually, Bootsnap won't work on Windows anyway, so I'd recommend just removing it from Gemfile. If you want to leave it for production environment, perhaps you should include it conditionally with something like:
gem 'bootsnap' unless (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)

Ruby - gem install escape_utils fails with errors?

When I tried to install the
gem install escape_utils -v '0.3.2'
it gives me following errors which I don't know how to fix
I am using
ruby --version
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
rails -v
Could not find escape_utils-0.3.2 in any of the sources
Run `bundle install` to install missing gems.
The error I get when trying to install is
gem install escape_utils -v '0.3.2'
Building native extensions. This could take a while...
ERROR: Error installing escape_utils:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-2.2.2/bin/ruby -r ./siteconf20150613-4082-zkyiyc.rb extconf.rb
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling houdini_xml_e.c
compiling buffer.c
compiling escape_utils.c
escape_utils.c: In function ‘rb_eu_escape_html_as_html_safe’:
escape_utils.c:126: error: assignment of read-only member ‘klass’
make: *** [escape_utils.o] Error 1
make failed, exit code 2
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.2.2/gems/escape_utils-0.3.2 for inspection.
Results logged to /usr/local/rvm/gems/ruby-2.2.2/extensions/x86_64-linux/2.2.0/escape_utils-0.3.2/gem_make.out
This is issue with escape_utils itself. You should edit Gemfile.lock file and change escape_utils (0.3.2) to escape_utils (1.1.0).

Could not bundle install because of 'pg'

I'm learning R o R. Then, I want to make a website by using postgresql.
But, this error makes me crazy.
Please, help me !
$ sudo bundle install
creating Makefile
make "DESTDIR="
compiling gvl_wrappers.c
compiling pg.c
compiling pg_connection.c
pg_connection.c:2323:3: warning: implicit declaration of function 'gettimeofday' is invalid in C99 [-Wimplicit-function-declaration]
gettimeofday(&currtime, NULL);
^
1 warning generated.
compiling pg_errors.c
compiling pg_result.c
linking shared-object pg_ext.bundle
ld: file not found: dynamic_lookup
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [pg_ext.bundle] Error 1
Gem files will remain installed in /Users/Sean/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pg-0.17.1 for inspection.
Results logged to /Users/Sean/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/gems/pg-0.17.1/ext/gem_make.out
An error occurred while installing pg (0.17.1), and Bundler cannot continue.
Make sure that `gem install pg -v '0.17.1'` succeeds before bundling.
I tried all ways I could.
For example, I tried to change pass of pg.
But, I couldn't.
Then, I tried
$ brew update
$ brew uninstall postgresql
$ brew install postgresql
$ gem install pg
$ bundle install
But, it didn't work.
How can I do for this error !?
You might require libpq-dev, which is the library that always gets me when trying to install the pg gem on a new machine.
I struck the same problem when running the pg gem 0.17 with Ruby 2.2.1
I just did a bundle update pg and it upgraded to 0.18 and it no longer had this compile issue

/usr/bin/gcc-4.2: No such file or directory. error. symlink fix doesn't work

I'm trying to upgrade my rails 3.2.3 app. I've updated the gemfile to gem 'rails', '3.2.11' and ran bundle update rails but got the following error:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/Arel/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb
creating Makefile
make
compiling generator.c
make: /usr/bin/gcc-4.2: No such file or directory
make: *** [generator.o] Error 1
Gem files will remain installed in /Users/Arel/.rvm/gems/ruby-1.9.3-head/gems/json-1.7.6 for inspection.
Results logged to /Users/Arel/.rvm/gems/ruby-1.9.3-head/gems/json-1.7.6/ext/json/ext/generator/gem_make.out
An error occured while installing json (1.7.6), and Bundler cannot continue.
Make sure that `gem install json -v '1.7.6'` succeeds before bundling.
So I tried the solution that I found everywhere, to create a symlink using the command:
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
but that just returns the error:
ln: /usr/bin/gcc-4.2: File exists
I don't know a lot about using the terminal to navigate around OSX, so I'm kind of struggling here. Any ideas?
/usr/bin/gcc-4.2 could already be a symlink, but a broken one that points to a nonexistent file.

Resources