簡體   English   中英

在Mac上使用32位ruby運行64位dylib

[英]Running 64bit dylib with 32bit ruby on Mac

我正在嘗試安裝ruby-llvm

我可以安裝LLVM與brew install llvm -shared ,我也可以安裝ruby-llvmsudo gem install ruby-llvm命令。

但是,當我嘗試運行示例時 ,出現了這些錯誤消息。

/Users/smcho/.rvm/gems/ruby-1.9.3-p194/gems/ffi-1.1.5/lib/ffi/library.rb:121:in `block in ffi_lib': 
Could not open library '/DIR/.rvm/gems/ruby-1.9.3-p194/gems/ruby-llvm-3.0.0/lib/libRubyLLVMSupport-3.0.0.dylib': 
dlopen(/DIR/.rvm/gems/ruby-1.9.3-p194/gems/ruby-llvm-3.0.0/lib/libRubyLLVMSupport-3.0.0.dylib, 5): no suitable image found.  Did find: (LoadError)
/DIR/.rvm/gems/ruby-1.9.3-p194/gems/ruby-llvm-3.0.0/lib/libRubyLLVMSupport-3.0.0.dylib: mach-o, but wrong architecture

我檢查了動態庫是否為64位。

file /DIR/.rvm/gems/ruby-1.9.3-p194/gems/ruby-llvm-3.0.0/lib/libRubyLLVMSupport-3.0.0.dylib 
libRubyLLVMSupport-3.0.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64

看來ruby在32位模式下運行。 ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-darwin11.4.0]

我該如何解決這個問題? 有沒有辦法下載的32位版本的ruby-llvm或64位版本的ruby

看來您已經以32位模式安裝了ruby。 以64位模式安裝ruby是否可以解決問題?

要強制使用64位,您可以在RVM的最新版本中嘗試以下操作:

$ rvm install 1.9.3 --64

或$ rvm install 1.9.3 --with-arch = x86_64

(摘自: http : //www.engineyard.com/blog/2012/rvm-stable-and-more/

要在OS X上編譯32位模式紅寶石,我們有--32,-64和--universal標志:

$ rvm install 1.9.3 --universal # to build fat binary including both 32 and 64 bit binaries
$ rvm install 1.8.7 --32 # to build only 32 bit ruby
$ rvm install 1.8.7 --with-arch=i386 # is equivalent to the 32 bit one, but is available only via RVM, ruby 1.8.7 sources do not support it.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM