Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Strange errors when installing my gem

I just released v2.0.0 of the ginjo-rfm gem. When I install this gem on a stock Snow Leopard machine (rubygems version 1.3.5), I get the following error:

admin$ sudo gem install ginjo-rfm --no-rdoc --no-ri
ERROR:  Error installing ginjo-rfm:
    multi_json requires RubyGems version >= 1.3.6

However, the gem installs and runs successfully.

I have only one runtime dependency: ActiveSupport >= 2.3.5, and this is already installed on all of my machines. There is nowhere in my gem that I even mention multi_json.

Even stranger, when I try to install ginjo-rfm on Ubuntu 8.10 (rubygems version 1.3.5), rubygems throws a buffer overflow error (See Below).

What's wrong with my gem? It's a fairly straightforward gem & gemspec. I've combed thru it and cannot find any issues that would cause these kinds of errors.

If anyone would care to have a look at the raw gem:

mkdir ginjo; cd ginjo
gem fetch ginjo-rfm
tar -xf ginjo-rfm-2.0.0.gem

Or, see the gemspec as embedded as yaml in the 'metadata' file (See Below).

Thanks!

Buffer Overflow Error

~$ sudo gem install ginjo-rfm --no-rdoc --no-ri
*** buffer overflow detected ***: /usr/local/bin/ruby terminated
======= Backtrace: =========
/lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xf76bf558]
/lib/tls/i686/cmov/libc.so.6[0xf76bd680]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(rb_syck_mktime+0x545)[0xf752cdb5]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(yaml_org_handler+0xabc)[0xf752d8dc]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(syck_defaultresolver_node_import+0x3f)[0xf752d9af]
/usr/local/bin/ruby[0x8060c74]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x8061a5a]
/usr/local/bin/ruby(rb_funcall+0x20)[0x8061b90]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(rb_syck_load_handler+0x69)[0xf752b269]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(syck_hdlr_add_node+0x4d)[0xf7525edd]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(syckparse+0xc11)[0xf7526cb1]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(syck_parse+0x32)[0xf7522e12]
/usr/local/lib/ruby/1.8/i686-linux/syck.so(syck_parser_load+0x112)[0xf752dd92]
/usr/local/bin/ruby[0x8056ecd]
/usr/local/bin/ruby[0x8060c74]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805ba84]
/usr/local/bin/ruby[0x805cd31]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805ba84]
/usr/local/bin/ruby[0x805cd31]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805ba84]
/usr/local/bin/ruby[0x805e605]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805bb9c]
/usr/local/bin/ruby[0x805cde1]
/usr/local/bin/ruby[0x805e766]
/usr/local/bin/ruby[0x805f412]
/usr/local/bin/ruby[0x805be2d]
/usr/local/bin/ruby[0x805f412]
/usr/local/bin/ruby[0x8069ac5]
/usr/local/bin/ruby[0x8060c74]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805bb9c]
/usr/local/bin/ruby[0x805ec18]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805ba84]
/usr/local/bin/ruby[0x805ec18]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby(rb_obj_call_init+0x49)[0x8061779]
/usr/local/bin/ruby(rb_class_new_instance+0x2a)[0x808b53a]
/usr/local/bin/ruby[0x8056ecd]
/usr/local/bin/ruby[0x8060c74]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby(rb_call_super+0x68)[0x8068de8]
/usr/local/bin/ruby[0x80603ad]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805bb9c]
/usr/local/bin/ruby[0x805cd31]
/usr/local/bin/ruby[0x805e766]
/usr/local/bin/ruby[0x8060b79]
/usr/local/bin/ruby[0x8060e14]
/usr/local/bin/ruby[0x805ba84]
/usr/local/bin/ruby[0x8069e43]
/usr/local/bin/ruby[0x805d2be]
/usr/local/bin/ruby[0x8060b79]
======= Memory map: ========
08048000-080fb000 r-xp 00000000 ca:01 745349                             /usr/local/bin/ruby
080fb000-080fc000 r--p 000b2000 ca:01 745349                             /usr/local/bin/ruby
080fc000-080fd000 rw-p 000b3000 ca:01 745349                             /usr/local/bin/ruby
080fd000-0810d000 rw-p 00000000 00:00 0 
09fa2000-0cf87000 rw-p 00000000 00:00 0                                  [heap]
f68d4000-f6c6f000 rw-p 00000000 00:00 0 
f6ed9000-f6ee6000 r-xp 00000000 ca:01 743029                             /lib/libgcc_s.so.1
f6ee6000-f6ee7000 r--p 0000c000 ca:01 743029                             /lib/libgcc_s.so.1
f6ee7000-f6ee8000 rw-p 0000d000 ca:01 743029                             /lib/libgcc_s.so.1
f6ef6000-f6f06000 r-xp 00000000 ca:01 1523795                            /lib/tls/i686/cmov/libresolv-2.8.90.so
f6f06000-f6f07000 r--p 0000f000 ca:01 1523795                            /lib/tls/i686/cmov/libresolv-2.8.90.so
f6f07000-f6f08000 rw-p 00010000 ca:01 1523795                            /lib/tls/i686/cmov/libresolv-2.8.90.so
f6f08000-f6f0a000 rw-p 00000000 00:00 0 
f6f0a000-f6f0e000 r-xp 00000000 ca:01 1523788                            /lib/tls/i686/cmov/libnss_dns-2.8.90.so
f6f0e000-f6f0f000 r--p 00003000 ca:01 1523788                            /lib/tls/i686/cmov/libnss_dns-2.8.90.so
f6f0f000-f6f10000 rw-p 00004000 ca:01 1523788                            /lib/tls/i686/cmov/libnss_dns-2.8.90.so
f6f10000-f6f12000 r-xp 00000000 ca:01 743040                             /lib/libnss_mdns4_minimal.so.2
f6f12000-f6f13000 rw-p 00001000 ca:01 743040                             /lib/libnss_mdns4_minimal.so.2
f6f1b000-f7122000 rw-p 00000000 00:00 0 
f7122000-f712c000 r-xp 00000000 ca:01 807183                             /usr/local/lib/ruby/1.8/i686-linux/socket.so
f712c000-f712d000 r--p 00009000 ca:01 807183                             /usr/local/lib/ruby/1.8/i686-linux/socket.so
f712d000-f712e000 rw-p 0000a000 ca:01 807183                             /usr/local/lib/ruby/1.8/i686-linux/socket.so
f712e000-f7131000 r-xp 00000000 ca:01 807158                             /usr/local/lib/ruby/1.8/i686-linux/digest.so
f7131000-f7132000 r--p 00002000 ca:01 807158                             /usr/local/lib/ruby/1.8/i686-linux/digest.so
f7132000-f7133000 rw-p 00003000 ca:01 807158                             /usr/local/lib/ruby/1.8/i686-linux/digest.so
f7133000-f7147000 r-xp 00000000 ca:01 745216                             /usr/lib/libz.so.1.2.3.3
f7147000-f7149000 rw-p 00013000 ca:01 745216                             /usr/lib/libz.so.1.2.3.3
f7149000-f727c000 r-xp 00000000 ca:01 32847                              /usr/lib/i686/cmov/libcrypto.so.0.9.8
f727c000-f7284000 r--p 00132000 ca:01 32847                              /usr/lib/i686/cmov/libcrypto.so.0.9.8
f7284000-f7291000 rw-p 0013a000 ca:01 32847                              /usr/lib/i686/cmov/libcrypto.so.0.9.8
f7291000-f7295000 rw-p 00000000 00:00 0 
f7295000-f72d7000 r-xp 00000000 ca:01 32848                              /usr/lib/i686/cmov/libssl.so.0.9.8
f72d7000-f72d8000 ---p 00042000 ca:01 32848                              /usr/lib/i686/cmov/libssl.so.0.9.8
f72d8000-f72d9000 r--p 00042000 ca:01 32848                              /usr/lib/i686/cmov/libssl.so.0.9.8
f72d9000-f72dc000 rw-p 00043000 ca:01 32848                              /usr/lib/i686/cmov/libssl.so.0.9.8
f72dc000-f7313000 r-xp 00000000 ca:01 807173                             /usr/local/lib/ruby/1.8/i686-linux/openssl.so
f7313000-f7314000 r--p 00036000 ca:01 807173                             /usr/local/lib/ruby/1.8/i686-linux/openssl.so
f7314000-f7315000 rw-p 00037000 ca:01 807173                             /usr/local/lib/ruby/1.8/i686-linux/openssl.so
f7315000-f7432000 rw-p 00000000 00:00 0 
f7432000-f743c000 r-xp 00000000 ca:01 1523789                            /lib/tls/i686/cmov/libnss_files-2.8.90.so
f743c000-f743d000 r--p 00009000 ca:01 1523789                            /lib/tls/i686/cmov/libnss_files-2.8.90.so
f743d000-f743e000 rw-p 0000a000 ca:01 1523789                            /lib/tls/i686/cmov/libnss_files-2.8.90.so
f743e000-f7447000 r-xp 00000000 ca:01 1523791                            /lib/tls/i686/cmov/libnss_nis-2.8.90.so
f7447000-f7448000 r--p 00008000 ca:01 1523791                            /lib/tls/i686/cmov/libnss_nis-2.8.90.soAborted
cerne@rack02:~$ 

Metadata file containing gemspec as yaml

--- !ruby/object:Gem::Specification 
name: ginjo-rfm
version: !ruby/object:Gem::Version 
  hash: 15
  prerelease: 
  segments: 
  - 2
  - 0
  - 0
  version: 2.0.0
platform: ruby
authors: 
- Geoff Coffey
- Mufaddal Khumri
- Atsushi Matsuo
- Larry Sprock
- Bill Richardson
autorequire: 
bindir: bin
cert_chain: []

date: 2012-01-08 00:00:00 Z
dependencies: 
- !ruby/object:Gem::Dependency 
  name: activesupport
  prerelease: false
  requirement: &id001 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 9
        segments: 
        - 2
        - 3
        - 5
        version: 2.3.5
  type: :runtime
  version_requirements: *id001
- !ruby/object:Gem::Dependency 
  name: activemodel
  prerelease: false
  requirement: &id002 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id002
- !ruby/object:Gem::Dependency 
  name: rake
  prerelease: false
  requirement: &id003 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id003
- !ruby/object:Gem::Dependency 
  name: rdoc
  prerelease: false
  requirement: &id004 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id004
- !ruby/object:Gem::Dependency 
  name: rspec
  prerelease: false
  requirement: &id005 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ~>
      - !ruby/object:Gem::Version 
        hash: 27
        segments: 
        - 1
        - 3
        - 0
        version: 1.3.0
  type: :development
  version_requirements: *id005
- !ruby/object:Gem::Dependency 
  name: diff-lcs
  prerelease: false
  requirement: &id006 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id006
- !ruby/object:Gem::Dependency 
  name: yard
  prerelease: false
  requirement: &id007 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id007
- !ruby/object:Gem::Dependency 
  name: libxml-ruby
  prerelease: false
  requirement: &id008 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id008
- !ruby/object:Gem::Dependency 
  name: nokogiri
  prerelease: false
  requirement: &id009 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id009
- !ruby/object:Gem::Dependency 
  name: hpricot
  prerelease: false
  requirement: &id010 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id010
- !ruby/object:Gem::Dependency 
  name: ox
  prerelease: false
  requirement: &id011 !ruby/object:Gem::Requirement 
    none: false
    requirements: 
    - - ">="
      - !ruby/object:Gem::Version 
        hash: 3
        segments: 
        - 0
        version: "0"
  type: :development
  version_requirements: *id011
description: Rfm lets your Ruby scripts and Rails applications talk directly to your Filemaker server. Ginjo-rfm includes ActiveModel compatibility, multiple XML parsers, compound Filemaker find requests, and a configuration API.
email: http://groups.google.com/group/rfmcommunity
executables: []

extensions: []

extra_rdoc_files: 
- LICENSE
- README.md
- CHANGELOG.md
- lib/rfm/VERSION
files: 
- lib/rfm/base.rb
- lib/rfm/database.rb
- lib/rfm/error.rb
- lib/rfm/layout.rb
- lib/rfm/metadata/field.rb
- lib/rfm/metadata/field_control.rb
- lib/rfm/metadata/script.rb
- lib/rfm/metadata/value_list_item.rb
- lib/rfm/record.rb
- lib/rfm/resultset.rb
- lib/rfm/server.rb
- lib/rfm/utilities/case_insensitive_hash.rb
- lib/rfm/utilities/compound_query.rb
- lib/rfm/utilities/config.rb
- lib/rfm/utilities/core_ext.rb
- lib/rfm/utilities/factory.rb
- lib/rfm/utilities/xml_parser.rb
- lib/rfm/version.rb
- lib/rfm/xml_mini/hpricot.rb
- lib/rfm/xml_mini/ox_sax.rb
- lib/rfm/xml_mini/rexml_sax.rb
- lib/rfm.rb
- lib/rfm/VERSION
- LICENSE
- README.md
- CHANGELOG.md
homepage: https://rubygems.org/gems/ginjo-rfm
licenses: []

post_install_message: 
rdoc_options: 
- --line-numbers
- --main
- README.md
require_paths: 
- lib
required_ruby_version: !ruby/object:Gem::Requirement 
  none: false
  requirements: 
  - - ">="
    - !ruby/object:Gem::Version 
      hash: 3
      segments: 
      - 0
      version: "0"
required_rubygems_version: !ruby/object:Gem::Requirement 
  none: false
  requirements: 
  - - ">"
    - !ruby/object:Gem::Version 
      hash: 25
      segments: 
      - 1
      - 3
      - 1
      version: 1.3.1
requirements: []

rubyforge_project: 
rubygems_version: 1.8.10
signing_key: 
specification_version: 3
summary: Ruby to Filemaker adapter
test_files: []

has_rdoc: 
like image 644
wbr Avatar asked Jan 17 '12 21:01

wbr


People also ask

What is the difference between gem install and bundle install?

Almost seems like running 'gem install' adds it to the global available gems (and hence terminal can run the package's commands), whereas adding it to the gemfile and running bundle install only adds it to the application. Similar to npm install --global. that's basically it.

How does gem install work?

What does gem install do? gem install , in its simplest form, does something kind of like this. It grabs the gem and puts its files into a special directory on your system. You can see where gem install will install your gems if you run gem environment (look for the INSTALLATION DIRECTORY: line):


1 Answers

Your RubyGems version is out-of-date. Simply do this:

sudo gem update --system

and then:

sudo gem install rails

Tested and works on Mac OS X Snow Leopard 10.6.8.

like image 184
andilabs Avatar answered Sep 27 '22 15:09

andilabs