1
votes

when I try to run bundle install , I got the following error:

Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Using rake 10.3.2
Using i18n 0.6.9
Installing json 1.8.1 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /home/geethu/.rvm/gems/ruby-2.3.1/gems/json-1.8.1/ext/json/ext/generator/home/geethu/.rvm/rubies/ruby-2.3.1/bin/ruby -r ./siteconf20201013-6347-q8bzg1.rb extconf.rb

creating Makefile current directory: /home/geethu/.rvm/gems/ruby-2.3.1/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" clean current directory: /home/geethu/.rvm/gems/ruby-2.3.1/gems/json-1.8.1/ext/json/ext/generator make "DESTDIR=" compiling generator.c

../fbuffer/fbuffer.h: In function ‘fbuffer_to_s’:

../fbuffer/fbuffer.h:175:47: error: macro "rb_str_new" requires 2 arguments, but only 1 given VALUE result = rb_str_new(FBUFFER_PAIR(fb));

../fbuffer/fbuffer.h:175:20: warning: initialization makes integer from pointer without a cast [-Wint-conversion]

VALUE result = rb_str_new(FBUFFER_PAIR(fb));

Makefile:238: recipe for target 'generator.o' failed

make: *** [generator.o] Error 1

make failed, exit code 2
Gem files will remain installed in /home/geethu/.rvm/gems/ruby-2.3.1/gems/json-1.8.1 for inspection.

Results logged to /home/geethu/.rvm/gems/ruby-2.3.1/extensions/x86_64-linux/2.3.0/json-1.8.1/gem_make.out

Using minitest 5.3.4
Using thread_safe 0.3.4
Using builder 3.2.2
Using erubis 2.7.0
Using rack 1.5.2
Using mime-types 1.25.1
Using polyglot 0.3.5
Using arel 5.0.1.20140414130214
Using bcrypt 3.1.7
Using coderay 1.1.0
Using debug_inspector 0.0.2
Using bundler 1.12.5
Using callsite 0.0.11
Using cancan 1.6.10
Using coffee-script-source 1.7.0
Using execjs 2.1.0
Using thor 0.19.1
Using currencies 0.4.2
Using database_cleaner 1.3.0
Using orm_adapter 0.5.0
Using diff-lcs 1.2.5
Using tilt 1.4.1
Using hike 1.2.3
Using multi_json 1.10.1
Using method_source 0.8.2
Using subexec 0.2.3
Using mini_portile 0.6.0
Using mousetrap-rails 1.4.6
Using nested_form 0.3.2
Using pg 0.17.1
Using slop 3.5.0
Using rolify 3.4.0
Using rspec-core 2.14.8
Using rspec-mocks 2.14.6
Using rubyzip 1.1.3
Using sass 3.2.19
Using workflow 1.1.0
An error occurred while installing json (1.8.1), and Bundler cannot continue.

Make sure that gem install json -v '1.8.1' succeeds before bundling.

1
And what do you get when you run gem install json -v '1.8.1'?Vidur
ERROR: Error installing json: ERROR: Failed to build gem native extension.GEETHU JOSEPH
gem list shows: json (1.8.6, 1.8.3, 1.8.2)GEETHU JOSEPH
Can you edit your question and post the entire log output please? Kinda hard to see why it's failing with just the first line. Also what OS are you on? And what version of ruby, and bundler?Vidur
OS: Ubuntu 16.04, ruby: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux], bundler :Bundler version 1.12.5GEETHU JOSEPH

1 Answers

1
votes

Try updating your Gemfile to use [email protected] instead of 1.8.1 - according to this thread Ruby 2.2.x is incompatible with json 1.8.1.

1.8.2 should be functionally similar and not affect any of your other dependencies.

You can also run bundle update json to let bundler try to fix it for you - but that may put you at a much later version than 1.8.2, I'm not sure.

No harm in trying a couple things and reverting your changes.