Skip to content

Using rubygems 1.8.25 with ruby-2.0.0p247, installed gems are unusable. #633

Closed
@gswallow

Description

@gswallow

Fresh install of ruby-2.0.0p247 from source. The steps were:

  1. download & extract tarball
  2. ./configure --prefix=/usr/local && make && make install
  3. gem update --system 1.8.25

I then installed the chef gem (version 10.26.0). When I try to run chef-client, it complains about not being able to load yajl/yajl. The output from gem install -V yajl-ruby says:

/usr/bin/install -c -m 0755 yajl.so /usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/usr/local/lib/ruby/site_ruby/2.0.0/x86_64-linux/yajl

If I copy the yajl.so file to /usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl, then the error about yajl/yajl goes away. Other gems (ruby-shadow) behave the same way.

On IRC, I was told this is an issue with mkmf.rb. Thanks @drbrain.

Full output of gem install -V follows.

gem install -V yajl-ruby
GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
200 OK
GET http://rubygems.org/quick/Marshal.4.8/yajl-ruby-1.1.0.gemspec.rz
302 Moved Temporarily
GET http://production.cf.rubygems.org/quick/Marshal.4.8/yajl-ruby-1.1.0.gemspec.rz
200 OK
Installing gem yajl-ruby-1.1.0
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/.gitignore
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/.rspec
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/.travis.yml
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/CHANGELOG.md
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/Gemfile
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/MIT-LICENSE
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/README.md
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/Rakefile
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/encode.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/encode_json_and_marshal.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/encode_json_and_yaml.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/http.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/parse.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/parse_json_and_marshal.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/parse_json_and_yaml.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/parse_stream.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/item.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/ohai.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/ohai.marshal_dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/ohai.yml
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/twitter_search.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/twitter_stream.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/benchmark/subjects/unicode.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/encoding/chunked_encoding.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/encoding/one_shot.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/encoding/to_an_io.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/http/twitter_search_api.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/http/twitter_stream_api.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/parsing/from_file.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/parsing/from_stdin.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/examples/parsing/from_string.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/api/yajl_common.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/api/yajl_gen.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/api/yajl_parse.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/api/yajl_version.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/extconf.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_alloc.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_alloc.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_buf.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_buf.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_bytestack.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_encode.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_encode.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_ext.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_ext.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_gen.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_lex.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_lex.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_parser.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_parser.h
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/ext/yajl/yajl_version.c
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/bzip2.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/bzip2/stream_reader.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/bzip2/stream_writer.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/deflate.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/deflate/stream_reader.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/deflate/stream_writer.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/gzip.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/gzip/stream_reader.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/gzip/stream_writer.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/http_stream.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/json_gem.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/json_gem/encoding.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/json_gem/parsing.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/yajl/version.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/encoding/encoding_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/global/global_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.bzip2.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.chunked.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.deflate.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.error.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.gzip.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.html.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/fixtures/http.raw.dump
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_delete_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_error_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_get_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_post_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_put_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/http/http_stream_options_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/json_gem_compatibility/compatibility_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/active_support_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/chunked_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail.15.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail.16.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail.17.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail.26.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail11.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail12.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail13.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail14.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail19.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail20.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail21.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail22.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail23.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail24.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail25.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail27.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail28.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail3.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail4.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail5.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail6.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/fail9.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.array.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.codepoints_from_unicode_org.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.contacts.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.db100.xml.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.db1000.xml.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.dc_simple_with_comments.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.deep_arrays.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.difficult_json_c_test_case.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.difficult_json_c_test_case_with_comments.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.doubles.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.empty_array.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.empty_string.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.escaped_bulgarian.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.escaped_foobar.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.item.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample1.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample2.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample3.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample4-nows.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample4.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.json-org-sample5.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.map-spain.xml.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.ns-invoice100.xml.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.ns-soap.xml.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.numbers-fp-4k.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.numbers-fp-64k.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.numbers-int-4k.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.numbers-int-64k.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.twitter-search.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.twitter-search2.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.unicode.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass.yelp.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass1.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass2.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures/pass3.json
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/fixtures_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/parsing/one_off_spec.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/rcov.opts
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/spec/spec_helper.rb
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/tasks/compile.rake
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/tasks/rspec.rake
/usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/yajl-ruby.gemspec
Building native extensions.  This could take a while...
/usr/local/bin/ruby extconf.rb
creating Makefile

make
compiling yajl_lex.c
compiling yajl_ext.c
yajl_ext.c: In function ‘yajl_encode_part’:
yajl_ext.c:117:21: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
yajl_ext.c: In function ‘yajl_found_hash_key’:
yajl_ext.c:291:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
yajl_ext.c: In function ‘rb_yajl_parser_parse’:
yajl_ext.c:442:17: warning: variable ‘stat’ set but not used [-Wunused-but-set-variable]
compiling yajl_buf.c
compiling yajl_version.c
compiling yajl_gen.c
compiling yajl_parser.c
compiling yajl_alloc.c
compiling yajl_encode.c
compiling yajl.c
linking shared-object yajl/yajl.so

make install
/usr/bin/install -c -m 0755 yajl.so /usr/local/lib/ruby/gems/2.0.0/gems/yajl-ruby-1.1.0/lib/usr/local/lib/ruby/site_ruby/2.0.0/x86_64-linux/yajl
installing default yajl libraries
Successfully installed yajl-ruby-1.1.0
1 gem installed
Installing ri documentation for yajl-ruby-1.1.0...
rdoc --ri --op /usr/local/lib/ruby/gems/2.0.0/doc/yajl-ruby-1.1.0/ri lib --title yajl-ruby-1.1.0 Documentation --quiet
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/usr/local/lib/ruby/site_ruby/2.0.0/x86_64-linux/yajl/yajl.so, skipping
Installing RDoc documentation for yajl-ruby-1.1.0...
rdoc --op /usr/local/lib/ruby/gems/2.0.0/doc/yajl-ruby-1.1.0/rdoc lib --title yajl-ruby-1.1.0 Documentation --quiet
unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/usr/local/lib/ruby/site_ruby/2.0.0/x86_64-linux/yajl/yajl.so, skipping

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions