2012-01-17 11 views
5

Acabo de lanzar v2.0.0 de la gema ginjo-rfm. Cuando instalo esta joya en una máquina de leopardo de la nieve (rubygems versión 1.3.5), me sale el siguiente error:Errores extraños al instalar mi gema

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

Sin embargo, la gema se instala y se ejecuta correctamente.

Tengo solo una dependencia de tiempo de ejecución: ActiveSupport> = 2.3.5, y esto ya está instalado en todas mis máquinas. No hay en ninguna parte de mi joya que incluso mencione multi_json.

Aún más extraño, cuando trato de instalar ginjo-rfm en Ubuntu 8.10 (rubygems versión 1.3.5), rubygems arroja un error de desbordamiento del búfer (consulte a continuación).

¿Qué pasa con mi joya? Es una gema bastante simple & gemspec. Lo analicé y no puedo encontrar ningún problema que pueda causar este tipo de errores.

Si alguien le importaría echar un vistazo a la gema en bruto:

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

O, ver el gemspec como incrustado como yaml en el archivo 'metadatos' (ver más abajo).

Gracias!

desbordamiento del búfer de 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 
[email protected]:~$ 

archivo de metadatos que contiene gemspec como 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: 
+0

La dependencia de múltiples json probablemente provenga del soporte activo (en las versiones> = 3.1 creo) –

+0

Eso es lo que creo también. Pero no entiendo por qué me está molestando cuando ya tengo instalado ActiveSupport 2.3.5. Me pregunto si hay algún problema con mi gemspec que esté causando que rubygems omita el ActiveSupport instalado y en su lugar busque v3.1. – wbr

+0

Ugh, no parece ser un problema de dependencia, o al menos no es un problema con las dependencias gemspec enumeradas. Eliminé todas las dependencias de gemspec y sigo teniendo el error multi_json en Snow Leopard y el error de desbordamiento del búfer en Ubuntu 8.10. Entonces ... debe haber un problema en algún lugar del código de mi gema. ¿Rubygems realmente carga la gema durante el proceso de instalación? – wbr

Respuesta

6

Su versión RubyGems está fuera de fecha. Basta con hacer esto:

sudo gem update --system 

y luego:

sudo gem install rails 

probado y funciona en Mac OS X Snow Leopard 10.6.8.

+0

Sí: 1.3.x tiene aproximadamente 2 años. Ahórrate un poco de pena y actualízala. –

+0

Solo para dar seguimiento, creo que este fue definitivamente el problema. He estado usando RVM para instalar rubies y rubies mucho más recientes, y no me he encontrado con este problema desde entonces. – wbr

Cuestiones relacionadas