2010-05-26 11 views
5

Chúng tôi đang có vấn đề với libxml-ruby đá quý ở phía máy chủ Có thể vì nó sử dụng kiến ​​trúc x86_64:libxml-ruby không thể tải tại x86_64

$ uname -a Linux ip-10-228-171- 64 2.6.21.7-2.fc8xen-eC2-v1.0 # 1 SMP Tue Sep 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 

phiên bản 1.1.4 ngọc

Cài đặt lại viên ngọc không giúp đỡ Ai đó có thể đề xuất việc cần làm?

+0

Tôi đã thử cài đặt phiên bản 1.1.3 nó cũng cho cùng một lỗi quá – pahnin

Trả lời

2

thử quay trở lại phiên bản ngọc libxml-ruby của bạn để 1.1.3

+0

Tôi đã thử cài đặt phiên bản 1.1.3 nó cũng cho cùng một lỗi quá – pahnin

7

Tôi đã gặp sự cố tương tự chính xác này trong Centos .... Một cách rõ ràng có vấn đề với phiên bản gem 1.1.4 và 64 bit. Đi qua rubyfourge và tải xuống phiên bản 1.1.3.

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

tải .gem một sau đó chỉ cần chạy:

gem install libxml-ruby-1.1.3.gem 

Trên console. Tôi hy vọng điều này sẽ giúp

+0

Mặc dù phiên bản 1.1.4 đã hoạt động tốt trên Mac OS X 64 bit cục bộ của tôi, tôi đã gặp sự cố tương tự khi triển khai lên Ubuntu 64 bit. Hạ cấp xuống 1.1.3 đã giải quyết vấn đề này cho tôi. Cảm ơn! – caike

1

Vì một số lý do trên Linux, đôi khi đá quý bị nhầm lẫn và cài đặt Windows DLL cho libxml-ruby. Bạn có thể xác minh điều này bằng cách thực hiện một số file trên (đường dẫn lib ruby) /ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so và nó nói rằng libxml_ruby.so là một Windows PE DLL.

Con đường tôi đã tìm thấy để làm việc xung quanh này là để buộc nền tảng này, ví dụ:

gem install libxml-ruby --platform ruby

+0

Đối với tôi, tôi phải chạy 'gem install libxml-ruby -v 1.1.4 - platform x86_64' vì không có phiên bản ruby ​​thuần khiết. –

+0

Tôi đã thử 'gem install libxml-ruby -v 1.1.4 --platform x86_64' vẫn gặp lỗi tương tự: ( – pahnin

0

Chúng tôi chạy vào cùng một vấn đề ngày hôm nay, và nó bật ra rằng rubygems đã cài đặt Windows dll thay vì một ELF * .so. Chúng tôi đang chạy một phiên bản khá cũ của Rubygems (1.3.7), nhưng cài đặt lại đá quý bằng cách nào đó đã giải quyết được vấn đề. Bạn không chắc chắn nếu phát hiện nền tảng trong phiên bản đó của Rubygems hay gì đó?

6

Đối với những gì nó có giá trị, tôi đã có cùng một vấn đề trong ubuntu, và những gì làm việc là để cài đặt gói dev libxml, càng chi tiết here

cho Ubuntu, sử dụng apt-get thay vì yum: % sudo apt-get install libxml2-dev

sau đó cài đặt đá quý libxml-ruby hoạt động như một nét duyên dáng.

+0

Hoạt động trên quả mâm xôi quá đường! – Automatico