16 марта 2011 г.

JRuby-1.6.0

Вчера вышла новая версия реализации интерпретатора Ruby на Java - JRuby.
Разработчиками заявлено совместимость с 1.9.2 версией языка. Так же включена экспериментальная поддержка расширений на С!!! Последняя новость очень порадовала, так как давно хочу для своего проекта RModBus добавить поддержку JRuby, но так как использую С расширения для последовательного порта ruby-serialport нужно было написать патч для релизации на Java( по слухам у жабы не все так хорошо с поддержкой ком-порат).  Более подробно о релизе можно почитать тут.


А теперь ложка дегтя. Воодушевивший хорошей новостью установил новоиспеченный релиз на  rvm и вот что увидел:

$ rvm jruby-1.6.0
$ ruby -v
jruby 1.6.0 (ruby 1.8.7 patchlevel 330) (2011-03-15 f3b6154) (OpenJDK 64-Bit Server VM 1.6.0_20) [linux-amd64-java]

По умолчанию интерпретатор встал как 1.8.7 , каким образом перевести его в режим совместимости 1.9.2 мне пока не известно. Затем я попытался поставить gem c сишным кодом вот результат:(

Fetching: serialport-1.0.4.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing rmodbus:
ERROR: Failed to build gem native extension.

        /home/atimin/.rvm/rubies/jruby-1.6.0/bin/jruby extconf.rb
WARNING: JRuby does not support native extensions or the `mkmf' library very well.
Check http://kenai.com/projects/jruby/pages/Home for alternatives.
mkmf.rb can't find header files for ruby at /home/atimin/.rvm/rubies/jruby-1.6.0/lib/native/include/ruby/ruby.h


Gem files will remain installed in /home/atimin/.rvm/gems/jruby-1.6.0/gems/serialport-1.0.4 for inspection.
Results logged to /home/atimin/.rvm/gems/jruby-1.6.0/gems/serialport-1.0.4/ext/native/gem_make.out

Сразу ничего не получилось.. Сейчас нет времени разобраться почему не работает, как время появиться думаю это будет темой целого поста)

Комментариев нет:

Отправить комментарий