よたらぼ
自分の興味の赴くままにIT技術系のネタを取りとめもなくメモっています。
Ruby言語やLinuxのネタが多いです。

November 17, 2003

[Ruby-GNOME2] さっそくバグレポート

ってか、コンパイルエラーが3件。しくしく。

なるべく早いうちに0.8.1出しますんで他にもバグあったらレポートしてください。

GTK+-2.0の環境つぶしちゃったんだけど、また、どっかに用意しないとなー。

あー、はやくGTK+-2.0.xとRuby-1.6.x捨ててー。ってかライブラリありすぎ(T_T)。

[Ruby-GNOME2] ke-gtk2.rb

Gnome::Canvasを使ってみるテストとしてke.javaの移植をしたke-tk.rbを移植してみた。

#!/usr/bin/env ruby
# http://www.meigaku.ac.jp/~watayan/prog/java/nanisource.html
# の「何もしない Java applet に毛のはえたやつ」をRuby/Tkに移植したもの
# http://znz.s1.xrea.com/t/?date=20031114#p01
# をRuby/GnomeCanvas2に移植したもの
    
require 'gnomecanvas2'
                                                                                                               
Gtk.init
                                                                                                               
c = Gnome::Canvas.new(true)
c.set_size_request(200, 200)
c.set_scroll_region(0, 0, 200, 200)
                                                                                                               
maxx, maxy = c.width, c.height
num = (ARGV.shift || 100).to_i
interval = (ARGV.shift || 0.5).to_f
                                                                                                                
num.times do
  Thread.start do
    x, y = rand(maxx), rand(maxy)
    while true
      dx = ((rand * 4.0 - 2.0) * 2).to_i
      dy = ((rand * 4.0 - 2.0) * 2).to_i
      dx = 0 if x + dx < 0 || x + dx > maxx
      dy = 0 if y + dy < 0 || y + dy > maxy
      Gnome::CanvasLine.new(c.root,
                            :points => [[x,y],[x+dx, y+dy]],
                            :fill_color => 'black',
                            :width_pixels => 1)
      x += dx
      y += dy
      sleep interval
    end
  end
end
Gtk::Window.new.add(c).show_all
                                                                                                                
Gtk.main

わざとそのままThreadを使ってみたけど大丈夫のようだな。環境によっては再描画されないかも。

[Ruby-GNOME2] Ruby/GTK TreeView Tutorial

by Matthew Berg。まだ読んでないんですが複雑なGtk::TreeViewウィジェットの解説というだけあって期待大です。

元ネタのGTK+版を忠実に書き直したものではなく、Ruby版での使いやすさ・簡単さが表現されていると良いなー。

本日のツッコミ(全2件) [ツッコミを入れる]

なかだ [ウィンドウを閉じたときに終了せずに止まってしまいました。> ke Ctrl-C押したらSEGV。 #8 <sig..]

なかだ [書き忘れ。 (gdb) up 14 #14 0x400c85a4 in rbgobj_free (holder=0..]


November 17, 2004

[Ruby] 続々 ruby-1.8.2-preview3コンパイル

もう一度tar玉を新しく展開してからやり直してみた。

若干昨日とはやり方を変えてみた(ってか昨日の忘れてるし(^^;)。

> cd ruby-1.8.2
> set RUBYOPT=
> "C:\Program Files\Microsoft.NET\SDK\v1.1\Bin\sdkvars.bat"
> "C:\Program Files\Microsoft SDK\SetEnv.Bat"
> win32\configure.bat
> nmake
 
(コンパイルはうまくいく)
 
        lib -nologo -machine:x86 -out:msvcrt-ruby18-static.lib array.obj  bignum
.obj  class.obj  compar.obj  dir.obj  dln.obj  enum.obj  error.obj  eval.obj  fi
le.obj  gc.obj  hash.obj  inits.obj  io.obj  marshal.obj  math.obj  numeric.obj
 object.obj  pack.obj  parse.obj  prec.obj  process.obj  random.obj  range.obj
re.obj  regex.obj  ruby.obj  signal.obj  sprintf.obj  st.obj  string.obj  struct
.obj  time.obj  util.obj  variable.obj  version.obj  acosh.obj crypt.obj erf.obj
 win32.obj dmyext.obj
'lib' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'lib' : リターン コード '0x1'
Stop.

ここでlibが無いと言われてしまうのだけど、オレの環境ではlib.exeがC:\Program Files\Microsoft SDK\Bin\Win64\lib.exeしかみつからない。Win64というのが怪しい(オレのマシンはPentium IIIのWindows2000)けど、とりあえず、PATHにこのフォルダを追加して続けてみる。

> set PATH=%PATH%;"C:\Program Files\Microsoft SDK\Bin\Win64"
> nmake
        .\miniruby.exe ./win32/mkexports.rb -output=msvcrt-ruby18.def msvcrt-rub
y18-static.lib
./win32/mkexports.rb:6:in `foreach': No such file or directory - dumpbin -symbol
s msvcrt-ruby18-static.lib (Errno::ENOENT)
        from ./win32/mkexports.rb:6
NMAKE : fatal error U1077: '.\miniruby.exe' : リターン コード '0x1'
Stop.

で、昨日の事象が再現。

ってことはやっぱりlib.exeのところが変なのかなー。それともオレの環境がダメダメ?...その可能性はかなり高いな(^^;)。

[Ruby-GNOME2] ruby-gtk2-0.11.0 for One Click Ruby Installer

One Click Installer上で動作するruby-gtk2のバイナリを用意しました。

Ruby/GLib, Ruby/ATK, Ruby/Pango, Ruby/GdkPixbuf, Ruby/GTK, Ruby/GtkGLExt, Ruby/Libglade, Ruby-GetText-Package, Raccが入っています。ぜひお試しください。

最近、One Click InstallerでインストールしたRuby上でMinGWでコンパイルしたruby-gtk2が動作しないと言う現象が起きていました。

で、今回、VCでコンパイルをし直したところ動作するようになった、というものです。

#いいのかな、こんなんで(^^;)。

それにしてもVCでコンパイルできるようにするまでかなり大変でした。

結局、Ruby自体のコンパイルはあきらめたのですが(^^;)、ソースに手を入れたりMakefileに手を入れたり環境変数設定したり... 逆に、その辺をしっかりしておけばMinGWでコンパイルしても大丈夫なのかもしれません。型のチェックなんかはVCの方が厳しいみたいですし。

#もちろん、もっと簡単な方法があるのかもしれませんがなにぶんWindowsの開発環境には疎いもので(^^;)。

もう少し簡単にできるようにしないと次が大変だ。うーん。

本日のツッコミ(全5件) [ツッコミを入れる]

Before...

むとぽん [(う)さん> やっぱりWin64用ですよね...。 普通lib.exeってどこにあるんでしょうか? link.ex..]

(う) [lib.exeはcl.exeやlink.exeと同じところに... Platform SDKのおまけでついてくるのは..]

むとぽん [あぁ、そういうことなのかもしれませんねぇ。 それだとあまりうれしくないなぁ、がっくし。]


更新 設定