2014-07-13 40 views
0

我正在嘗試將JRuby(最好是1.7.13版)安裝到Raspberry Pi上。我安裝了rbenv/ruby​​-build。當我嘗試安裝JRuby(包括1.7.13或1.7.11),我收到以下錯誤:如何使用rbenv/ruby​​-build在Raspberry Pi上構建JRuby 1.7.13?

[email protected]:~$ rbenv install jruby-1.7.13 
Downloading jruby-bin-1.7.13.tar.gz... 
-> http://dqw8nmjcqpjn7.cloudfront.net/faa1cd590f32f3cb92044d9abedf66ccea1d93a24236c877810c9b30e1e0577c 
Installing jruby-1.7.13... 

BUILD FAILED 

Inspect or clean up the working tree at /tmp/ruby-build.20140713094726.2669 
Results logged to /tmp/ruby-build.20140713094726.2669.log 

Last 10 log lines: 
jruby-1.7.13/tool/nailgun/Makefile.in 
jruby-1.7.13/tool/nailgun/ng.exe 
jruby-1.7.13/tool/nailgun/README.txt 
jruby-1.7.13/tool/nailgun/src/c/ng.c 
/tmp/ruby-build.20140713094726.2669/jruby-1.7.13 /tmp/ruby-build.20140713094726.2669 ~ 
ERROR: Loading command: install (LoadError) 
    Could not load FFI Provider: (NotImplementedError) FFI not available: null 
See http://jira.codehaus.org/browse/JRUBY-4583 
ERROR: While executing gem ... (NoMethodError) 
    undefined method `invoke_with_build_args' for nil:NilClass 

是否有可能對ARM建立的Linux JFFI以及如何將我應該去這樣做?

+0

你是否嘗試過RVM(如果它失敗了)? – kares

+0

還沒有。據我所知,在這之前我需要刪除rbenv。我可能會嘗試從源代碼進行編譯。 –

+0

比,請務必嘗試** jruby-1_7 **分支(以及)...還有你爲什麼要自己構建而不是使用二進制(它不會有什麼大的區別)的任何原因?我會嘗試使用** rbenv ** 1.7.12版(從未實際使用它)而不是「降級」到RVM,或者直接下載並解壓縮.zip發行版......除非您真的在3.14上切換Rubies :) – kares

回答

1

我相信答案是在Raspberry Pi上編譯JFFI並將生成的libjffi-1.2.so複製到/ usr/lib。當我現在嘗試使用rbenv安裝JRuby 1.7.13時,我不再獲取丟失的FFI錯誤,但「無法分配內存」錯誤。

我跟着編譯libjffi的程序是;

cd ~ 
[email protected]:~$ git clone git://github.com/jnr/jffi.git jffi.git 
cd jffi.git 
ant jar 
sudo cp libjffi-1.2.so /usr/lib