Не удалось загрузить libxml-ruby в x86_64 - PullRequest
5 голосов
/ 26 мая 2010

У нас проблема с гемом libxml-ruby на стороне сервера Возможно, потому что он использует архитектуру x86_64:

$ uname -a Linux ip-10-228-171-64 2.6.21.7-2.fc8xen-ec2-v1.0 # 1 SMP вт 1 сентября 10:25:30 EDT 2009 x86_64 GNU / Linux

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

Переустановка драгоценного камня не помогает Может кто-нибудь подсказать, что делать?

Ответы [ 5 ]

7 голосов
/ 04 августа 2010

У меня была точно такая же проблема в Centos .... По-видимому, есть проблема с gem версии 1.1.4 и 64-битными машинами. Перейдите на rubyfourge и загрузите версию 1.1.3.

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

скачайте .gem и просто запустите:

gem install libxml-ruby-1.1.3.gem

На консоли. Я надеюсь, что это поможет

6 голосов
/ 02 июня 2013

Как бы то ни было, у меня возникла та же проблема в Ubuntu, и что работало, так это установил пакет devx для libxml, как подробно описано здесь

для Ubuntu, используйте apt-get вместо yum: % sudo apt-get install libxml2-dev

тогда установка libxml-ruby gem работает как шарм.

3 голосов
/ 05 апреля 2011

попробуйте вернуть версию gem libxml-ruby до версии 1.1.3

1 голос
/ 14 декабря 2010

По какой-то причине в Linux иногда gem запутывается и устанавливает Windows DLL для libxml-ruby. Вы можете проверить это, выполнив file on (путь к ruby ​​lib) /ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so и там говорится, что libxml_ruby.so является Windows PE DLL .

Я нашел способ обойти это, чтобы заставить платформу, то есть:

gem install libxml-ruby --platform ruby

0 голосов
/ 01 июля 2011

Мы столкнулись с той же проблемой сегодня, и оказалось, что rubygems установил Windows dll вместо ELF * .so.Мы используем довольно старую версию Rubygems (1.3.7), но переустановка гема каким-то образом решила проблему.Не уверен, что обнаружение платформы в этой версии Rubygems или что-то еще?

...