2012-09-21 29 views
1

任何人都可以帮助我解决这个问题,当我试图在Jruby中安装GTK2 gem时?如何使用JRuby安装GTK2

Check http://kenai.com/projects/jruby/pages/Home for alternatives. 

checking for -Wall option to compiler... no 

checking for -Waggregate-return option to compiler... no 

checking for -Wcast-align option to compiler... no 


checking for -Wextra option to compiler... no 

checking for -Wformat=2 option to compiler... no 

checking for -Winit-self option to compiler... no 

checking for -Wlarger-than-65500 option to compiler... no 

checking for -Wmissing-declarations option to compiler... no 

checking for -Wmissing-format-attribute option to compiler... no 

checking for -Wmissing-include-dirs option to compiler... no 

checking for -Wmissing-noreturn option to compiler... no 

checking for -Wmissing-prototypes option to compiler... no 

checking for -Wnested-externs option to compiler... no 

checking for -Wold-style-definition option to compiler... no 

checking for -Wpacked option to compiler... no 

checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... no 

checking for -Wpointer-arith option to compiler... no 

checking for -Wswitch-default option to compiler... no 

checking for -Wswitch-enum option to compiler... no 

checking for -Wundef option to compiler... no 

checking for -Wunsafe-loop-optimizations option to compiler... no 

checking for -Wwrite-strings option to compiler... no 

checking for rb_define_alloc_func() in ruby.h... IOError: Cannot run program "cc" (in directory "C:\jruby-1.6.8\lib\ruby\gems\1.8\gems\glib2-1.1.5\ext\glib2"): 
CreateProcess error=2, The system cannot find the file specified 

      popen at org/jruby/RubyIO.java:3613 

      xpopen at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:323 

      open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260 

      xpopen at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:316 

     egrep_cpp at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:538 

     have_func at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:758 

    checking_for at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:652 

     postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:286 

      open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260 

     postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:286 

      open at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:260 

     postpone at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:282 

    checking_for at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:651 

     have_func at C:/jruby-1.6.8/lib/ruby/site_ruby/shared/mkmf.rb:755 

    check_ruby_func at C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/lib/mkmf-gnome2.rb:369 

      (root) at C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/lib/mkmf- 
gnome2.rb:558 

      require at org/jruby/RubyKernel.java:1062 

      (root) at extconf.rb:15 
*** 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.8/bin/jruby  

Gem files will remain installed in C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5 for inspection. 

Results logged to C:/jruby-1.6.8/lib/ruby/gems/1.8/gems/glib2-1.1.5/ext/glib2/gem_make.out 

我被这个问题毁了......其实我想在红宝石运行真正的多线程...我已经有编码,使用GTK红宝石中的应用......现在我想端口申请到JRuby .....

请帮我...任何一个有短缺这之前>>? 在此先感谢

回答

1

这里的错误是,你要么没有安装C编译器或如果你不能找到它

IOError: Cannot run program "cc"

所以它看起来像GTK正在努力打造本土扩展,这在Jruby中得不到很好的支持。此博客文章讨论了他编写的使用来自Jruby的gtk +的一些代码https://wordpress.kaspernj.org/?p=85

由于您正在移植到Jruby,因此您也可以直接使用Java GTK或直接使用SWT。 SWT https://github.com/danlucraft/swt有一个宝石,其中包括几个简单的例子,但不知道它有多完整。

由于Redcar Editor写在JRuby中+ SWT

1

你可以尝试FFI绑定Gtk3阿里纳斯。我自己用普通的Ruby和JRuby来使用它们。宝石被命名为“gir_ffi”和“gir_ffi-gtk”。

但是,你要知道,有目前正在MRI红宝石,一些threadding问题,你将不得不砍自己出的,像我这样做这里:

https://github.com/kaspernj/gtk3assist/blob/master/lib/gtk3assist_threadding.rb

而且这个库基本上直接从C库中提取,因此比普通的Ruby GTK库复杂得多。我试图使它有点简单,但还有很长的路要走,使其容易和简单的红宝石GTK2库:

https://github.com/kaspernj/gtk3assist/tree/master/lib

这可能是多Ruby和多OS GUI库我们都一直在等待:-)我已经在Linux和Mac下工作了(还没有在Windows上尝试过)。