Jruby gem ошибка win32-сервиса для rsense - PullRequest
1 голос
/ 12 июля 2011

Я пытаюсь установить Rsense, я следую инструкциям здесь Rsense Docs

RSENSE_HOME установлен, но я не могу установить jruby win32-сервис, чтобы выполнить шагиСлужба rsense запущена при загрузке.

Это полная ошибка, я также запустил ошибку, указав версию jruby.Есть идеи по завершению установки?

C:\Users\RenshawFamily>echo %RSENSE_HOME%
C:\Rsense

C:\Users\RenshawFamily>jruby -S gem install win32-service
Fetching: win32-api-1.4.8.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing win32-service:
    ERROR: Failed to build gem native extension.

    c:/jruby-1.6.3/bin/jruby.exe extconf.rb
WARNING: JRuby does not support native extensions or the `mkmf' library very wel
l.
Check http://kenai.com/projects/jruby/pages/Home for alternatives.
checking for strncpy_s()... IOError: Cannot run program "cc" (in directory "C:\j
ruby-1.6.3\lib\ruby\gems\1.8\gems\win32-api-1.4.8\ext"): CreateProcess error=2,
The system cannot find the file specified
     popen at org/jruby/RubyIO.java:3540
    xpopen at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:323
      open at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:260
    xpopen at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:316
 egrep_cpp at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:538
 have_func at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:758
checking_for at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:652
  postpone at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:286
      open at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:260
  postpone at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:286
      open at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:260
  postpone at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:282
checking_for at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:651
 have_func at c:/jruby-1.6.3/lib/ruby/site_ruby/shared/mkmf.rb:755
    (root) at extconf.rb:9
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=c:/jruby-1.6.3/bin/jruby


Gem files will remain installed in c:/jruby-1.6.3/lib/ruby/gems/1.8/gems/win32-a
pi-1.4.8 for inspection.
Results logged to c:/jruby-1.6.3/lib/ruby/gems/1.8/gems/win32-api-1.4.8/ext/gem_
make.out

C:\Users\RenshawFamily>jruby -S gem install win32-service --ruby=c:/jruby-1.6.3/
bin/jruby
ERROR:  While executing gem ... (OptionParser::InvalidOption)
invalid option: --ruby=c:/jruby-1.6.3/bin/jruby

Ответы [ 2 ]

0 голосов
/ 21 августа 2011

У меня была такая же проблема при установке гема win-32-service. Это решило это:

gem install win32-service --platform=mswin32

Так что ваша команда, вероятно, должна быть

jruby -S gem install win32-service --platform=mswin32

хотя я догадываюсь здесь.

0 голосов
/ 13 июля 2011

win32-service использует расширения C. Драгоценные камни, которые используют расширения C, как правило, не совместимы с JRuby, хотя предпринимаются попытки решить эту проблему - см. Здесь для справки

Вы можете использовать MRI / CRuby для своего проекта?

Или вы можете использовать библиотеку управления службами на основе Java, но тогда это может не работать с emacs / rsense.

Или вы можете закатать рукава и сделать win32-service JRuby-совместимым!

...