当我试图在Jruby中安装GTk2 gem时,有没有人可以帮我解决这个问题?
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
我被这个问题毁了......实际上我想在ruby中运行Real多线程...我已经编写了一个在ruby中使用GTk的应用程序......现在我想将该应用程序移植到JRuby。 ....
请帮助我......任何人在>>之前都做错了吗? 提前致谢
答案 0 :(得分:1)
这里的错误是你要么没有安装C编译器,要么就是找不到它
IOError:无法运行程序“cc”
所以看起来GTK正在尝试构建原生扩展,这在Jruby中得不到很好的支持。这篇博客文章讨论了他编写的一些代码,用于使用来自Jruby https://wordpress.kaspernj.org/?p=85
的gtk +由于您正在移植到Jruby,您也可以直接使用Java GTK或直接使用SWT。 SWT https://github.com/danlucraft/swt有一个宝石,其中包括一些简单的例子,不知道它有多完整。
作为旁注,Redcar Editor是用Jruby + SWT编写的
答案 1 :(得分:1)
你可以试试Gtk3的FFI绑定。我自己使用过普通的Ruby和JRuby。宝石名为“gir_ffi”和“gir_ffi-gtk”。
然而,你知道,目前在MRI Ruby下存在一些线程问题,你必须自己解决这个问题,就像我在这里做的那样:
https://github.com/kaspernj/gtk3assist/blob/master/lib/gtk3assist_threadding.rb
此库基本上是直接从C库中提取的,因此比普通的Ruby GTK库复杂得多。我试图让它变得更简单,但要使其像Ruby GTK2库一样简单易行,还有很长的路要走:
https://github.com/kaspernj/gtk3assist/tree/master/lib
这可能是我们一直在等待的多Ruby和多操作系统GUI库:-)我已经在Linux和Mac下工作了(还没有在Windows上试过)。