Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error occurred while installing mini_racer (0.2.0)

I am using mac 10.14. I have some problem with mini_racer gem. After run bundle install the below error occurs. I don't know how can I solve this.

Error

Installing mini_racer 0.2.0 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
/Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
/Users/vipinkumar/.rvm/rubies/ruby-2.5.1/bin/ruby -r
./siteconf20180911-791-fpmt3t.rb extconf.rb
checking for -lpthread... yes
checking for -lobjc... yes
creating Makefile

current directory:
/Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
make "DESTDIR=" clean

current directory:
/Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0/ext/mini_racer_extension
make "DESTDIR="
compiling mini_racer_extension.cc
clang: warning: argument unused during compilation: '-rdynamic'
[-Wunused-command-line-argument]
In file included from mini_racer_extension.cc:2:
In file included from
/Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby.h:33:
In file included from
/Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/ruby.h:2040:
/Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/intern.h:47:19:
warning: 'register' storage class specifier is deprecated and incompatible with
C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
                  ^~~~~~~~~
/Users/vipinkumar/.rvm/rubies/ruby-2.5.1/include/ruby-2.5.0/ruby/intern.h:47:36:
warning: 'register' storage class specifier is deprecated and incompatible with
C++17 [-Wdeprecated-register]
void rb_mem_clear(register VALUE*, register long);
                                   ^~~~~~~~~
2 warnings generated.
linking shared-object mini_racer_extension.bundle
clang: warning: libstdc++ is deprecated; move to libc++ [-Wdeprecated]
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [mini_racer_extension.bundle] Error 1

make failed, exit code 2

Gem files will remain installed in
/Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/gems/mini_racer-0.2.0 for
inspection.
Results logged to
/Users/vipinkumar/.rvm/gems/ruby-2.5.1@ry_rails5/extensions/x86_64-darwin-18/2.5.0/mini_racer-0.2.0/gem_make.out

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

In Gemfile:
  mini_racer

Ruby version 2.5.0 or 2.5.1 and rails 5.0

GemFile

gem 'mini_racer', platforms: :ruby
like image 576
vipin Avatar asked Sep 10 '18 19:09

vipin


3 Answers

In docker-compose with Docker image like ruby, you can try:

  1. Delete Gemfile.lock inside image
  2. Run bundle install again.
like image 90
Jonatas Eduardo Avatar answered Nov 19 '22 14:11

Jonatas Eduardo


I ran into the exact same issue on OS X Mojave with exact same stack trace as above. The following solution fixed it for me: (Credit to author of this blog Dave Kimura): https://blog.driftingruby.com/updated-to-mojave/ Solution was simply:

  1. Make sure you have installed xcode tools (skip if already done)

    xcode-select --install

  2. Now run the following command and follow the on-screen installer

    open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

That's it. Now mini_racer should install happily.

like image 13
paneer_tikka Avatar answered Nov 19 '22 13:11

paneer_tikka


Problem solve after change mini_racer gem version

mini_racer (0.2.1)
like image 7
vipin Avatar answered Nov 19 '22 14:11

vipin