2010-05-26 62 views
5

我們在服務器端 可能具有的libxml-紅寶石寶石問題加載,因爲它使用的是x86_64體系:的libxml-紅寶石未能在x86_64的

$ UNAME -a Linux的IP-10-228-171- 64 2.6.21.7-2.fc8xen-EC2-1.0#1 SMP週二9月1 10時25分三十秒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 

寶石版本1.1.4

重新安裝寶石沒有幫助 有人可以建議該怎麼做?

+0

我試過安裝1.1.3版本,它也給出了相同的錯誤 – pahnin 2012-06-17 10:44:57

回答

2

嘗試恢復您的libxml-紅寶石寶石版本1.1.3

+0

我試過安裝1.1.3版本,它也給出了相同的錯誤 – pahnin 2012-06-17 10:43:23

7

我在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 

在控制檯上。我希望這可以幫助

+0

雖然1.1.4版本在我的本地64位Mac OS X上工作正常,但是在部署到64位Ubuntu Linux時也遇到同樣的問題。降級到1.1.3爲我解決了這個問題。謝謝! – caike 2010-11-17 04:39:56

1

由於在Linux上的某些原因,有時gem會感到困惑,併爲libxml-ruby安裝Windows DLL。你可以通過在(ruby lib path)/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so上執行file來驗證這一點,它說libxml_ruby.so是一個Windows PE DLL。

我已經找到解決這個問題的方法是強制的平臺,即:

gem install libxml-ruby --platform ruby

+0

對我來說,我不得不運行'gem install libxml-ruby -v 1.1.4 --platform x86_64',因爲沒有純ruby版本。 – 2011-12-29 03:49:32

+0

我已經試過'gem install libxml-ruby -v 1.1.4 --platform x86_64'仍然得到相同的錯誤:( – pahnin 2012-06-17 10:46:44

0

我們跑進今天同樣的問題,事實證明,rubygems已經安裝了Windows DLL而不是ELF * .so。我們正在運行一個相當舊版本的Rubygems(1.3.7),但重新安裝gem卻以某種方式解決了這個問題。不確定在該版本的Rubygems中是否有平臺檢測?

6

對於它的價值,我是有在Ubuntu同樣的問題,什麼工作是安裝libxml的開發包,詳細here

的Ubuntu,使用apt-get代替百勝: %須藤apt-get install libxml2-dev

然後安裝libxml-ruby gem的工作就像一個魅力。

+0

作品在樹莓太辦法! – Automatico 2014-04-24 21:38:46