代码之家  ›  专栏  ›  技术社区  ›  Bogdan Gusiev

libxml ruby在x86\u 64上加载失败

  •  5
  • Bogdan Gusiev  · 技术社区  · 14 年前

    服务器端的libxml ruby gem有问题

    $联埃特派团-a

    require 'libxml'
    LoadError: /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so: invalid ELF header - /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so
    from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml.rb:9
    from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in'
    from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require'
    from (irb):1
    

    gem版本1.1.4

    重新安装gem没有帮助 有人能建议怎么办吗?

    5 回复  |  直到 14 年前
        1
  •  3
  •   Fred    13 年前

    尝试将libxml ruby gem版本恢复为1.1.3

        2
  •  7
  •   jalagrange    14 年前

    我在Centos中也遇到过同样的问题……很明显,gem版本1.1.4和64位机器有问题。前往 rubyfourge

    http://rubyforge.org/frs/?group_id=494

    下载.gem,然后运行:

    gem install libxml-ruby-1.1.3.gem
    

        3
  •  6
  •   Cloom Magoo    11 年前

    值得一提的是,我在ubuntu中遇到了同样的问题,有效的方法是安装libxmldev包,详细说明如下 here

    对于Ubuntu,使用apt-get而不是yum:

    那么libxml ruby gem的安装就像一个魔咒。

        4
  •  1
  •   Watts    14 年前

    由于某些原因,在Linux上,gem有时会混淆并安装libxmlruby的Windows DLL。您可以通过执行 file

    gem install libxml-ruby --platform ruby

        5
  •  0
  •   Aidan Feldman dariober    13 年前

    我们今天遇到了同样的问题,结果是rubygems安装了Windows dll而不是ELF*。我们正在运行一个相当旧的Rubygems版本(1.3.7),但是重新安装gem解决了这个问题。不确定Rubygems版本中是否存在平台检测?