Wpscan: bundle install json error

Created on 31 Jan 2017  路  5Comments  路  Source: wpscanteam/wpscan

from the current gem file I have, there's an error during install on OSX Sierra with ruby 2.4.0 as shown below

$ bundle install
Fetching gem metadata from https://rubygems.org/...........
Fetching version metadata from https://rubygems.org/.
Resolving dependencies...
Installing addressable 2.3.8
Installing safe_yaml 1.0.4
Installing diff-lcs 1.2.5
Installing docile 1.1.5
Installing ffi 1.9.10 with native extensions
Installing hashdiff 0.2.3
Installing json 1.8.3 with native extensions
Installing mini_portile2 2.1.0
Installing rspec-support 3.4.1
Installing ruby-progressbar 1.7.5
Installing simplecov-html 0.10.0
Installing terminal-table 1.6.0
Installing xmlrpc 0.2.1
Installing yajl-ruby 1.2.1 with native extensions
Using bundler 1.14.1
Installing crack 0.4.2
Installing ethon 0.9.0
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /Users/sprasanphani/pentest/wpscan/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
/Users/sprasanphani/.rbenv/versions/2.4.0/bin/ruby -r ./siteconf20170131-26574-1ylv7pi.rb extconf.rb
creating Makefile

current directory: /Users/sprasanphani/pentest/wpscan/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR=" clean

current directory: /Users/sprasanphani/pentest/wpscan/vendor/bundle/ruby/2.4.0/gems/json-1.8.3/ext/json/ext/generator
make "DESTDIR="
compiling generator.c
generator.c:861:25: error: use of undeclared identifier 'rb_cFixnum'
    } else if (klass == rb_cFixnum) {
                        ^
generator.c:863:25: error: use of undeclared identifier 'rb_cBignum'
    } else if (klass == rb_cBignum) {
                        ^
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2163:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs+1, varc, vari+1))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2168:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs+1, varc, vari+1))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \


GEM
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 4 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
generator.c:975:5: warning: division by zero is undefined [-Wdivision-by-zero]
    rb_scan_args(argc, argv, "01", &opts);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2143:9: note: expanded from macro 'rb_scan_args'
        rb_scan_args0(argc,argvp,fmt,\
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2329:8: note: expanded from macro 'rb_scan_args0'
                     rb_scan_args_verify(fmt, varc), vars)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2201:11: note: expanded from macro 'rb_scan_args_verify'
        verify = rb_scan_args_verify_count(fmt, varc); \
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
note: (skipping 5 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2167:6: note: expanded from macro
'rb_scan_args_count_hash'
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2162:6: note: expanded from macro
'rb_scan_args_count_block'
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/sprasanphani/.rbenv/versions/2.4.0/include/ruby-2.4.0/ruby/ruby.h:2158:12: note: expanded from macro
'rb_scan_args_count_end'
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6 warnings and 2 errors generated.
make: *** [generator.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/sprasanphani/pentest/wpscan/vendor/bundle/ruby/2.4.0/gems/json-1.8.3 for inspection.
Results logged to
/Users/sprasanphani/pentest/wpscan/vendor/bundle/ruby/2.4.0/extensions/x86_64-darwin-16/2.4.0/json-1.8.3/gem_make.out

An error occurred while installing json (1.8.3), and Bundler cannot continue.
Make sure that `gem install json -v '1.8.3'` succeeds before bundling.

from changing Gemfile.lock for json version and yajl-ruby as follow:

json (1.8.6)
--snip--
yajl-ruby (1.3.0)
--snip--

bundle install is working properly.

reference issues:
https://github.com/flori/json/issues/253
https://github.com/brianmario/yajl-ruby/pull/165

Most helpful comment

run bundle update

All 5 comments

run bundle update

ok, it seems like Gemfile.lock is using the old version

Gemfile.lock is from your first run of bundle install or the last run of bundle update. So if you want the latest gems which are also ruby 2.4 compatible, you need to run bundle install. I will have a look later in updating the minimum versions of our dependencies.

just FYI, that error comes from bundle install

I meet same problem here .but I can find a Gemfile.lock in my dir, I only have a gem file in my dir .and in this file ,I don't use the yajl-ruby module

Was this page helpful?
0 / 5 - 0 ratings

Related issues

MLubinski picture MLubinski  路  10Comments

thEpisode picture thEpisode  路  11Comments

riramar picture riramar  路  4Comments

digininja picture digininja  路  10Comments

cryptodoom picture cryptodoom  路  10Comments