Just another Ruby porter,

〜2001年5月中旬〜


<Prev(,) | Next(.)> | Recent(/)>> | RDF

2001-05-11 (Fri)

タモリ倶楽部

光る泥だんご、すごすぎ。

[Linux] ラベル

e2labelで名前をつけるとfstabでdeviceの代わりにLABEL=で指定することができる。 ハードディスクを入れ換えるときになんか便利。

JARH

print //.match('Just another Ruby hacker,').string

2001-05-12 (Sat)

ruby-fr ML

フランス語の メーリングリスト もできたらしい。

[Win32] consize

Win9xのMS-DOSプロンプトでスクロールバーをつけるという代物。 が、command.comだとだめなので、 Win95Cmd.exeとかbash.exeとかを使う必要がある。
ここにはWin95Cmd.exeも置いてある(いいのか?)。 それと ReactOS のcmd.exeも。 これはWinNTのcmd.exeとの互換性はかなり低い。

JARH

callcc{print 'Just another Ruby hacker,'}

2001-05-13 (Sun)

[Cygwin] rxvt 2.7.2-1

contribにrxvtが追加された。 --enable-languagesでconfigureされてないので日本語は使えない。 sourceも取ってきて作ろうと思ったが、 --enable-languagesするとUSE_XIMが自動的にONになるので、 Xの環境もインストールしないとコンパイルが通らない。 configureで

if test x$support_xim = xyes -o x$multichar_set = xyes; then
  cat >> confdefs.h <<\EOF
#define USE_XIM 1
EOF

としてるので、--disable-ximしても無駄。 しょうがないから、できあがったconfig.hをいじり

#define USE_XIM 1

をコメントアウト。これでコンパイルは通った。が、リンク時に

screen.o(.text+0x4c21):screen.c: undefined reference to `XFreeStringList'

となる。src/screen.c,W11/w32/{xlib,ntutil}.cを見ると単にfree(3)でよさそう。
でもね。日本語は出ない。-kmとか-fmとか指定してもだめだし。うーむ。
/usr/doc/Cygwin/rxvt-2.7.2.READMEには

- Fixes for supporting Japanese Fonts (thanks to Genzoo.A)

とあるんだけど、どうすればいいんだろう?

google

母の日なのでカーネーションだ。

JARH

class Foo
  def foo() print 'Just another Ruby hacker,' end
  instance_method(:foo).bind(new)[]
end

2001-05-14 (Mon)

[Cygwin] rxvt 2.7.2-1

mfontに関してはUSE_XIMの中に処理があるようだ。 やっぱXを使わないとだめ?

[Cygwin] UNC path

LinuxのSamba上へcdして、とあるソフトを起動すると

'\\ruby\watanabe' is an invalid current directory path. \
  UNC paths are not supported.
Defaulting to Windows directory.

と言われることに気づいた。 追ってみると途中でバッチファイルを呼んでてそこで出てる。なるほど。 command.comにしろcmd.exeにしろ

cd \\ruby\watanabe

ってできないもんなあ。同じメッセージが出る。 警告のメッセージだけならいいんだけど

Defaulting to Windows directory.

つーのは余計なお世話だよ。 結局シェルスクリプトに書き直した。 cmd.exeだったら許してくれてもよさそうなもんだけどなあ。

ssh

つっこむと同時に自分の備忘録として書いておこう。
runsocksは結局libsocks5_sh.soをpreloadするwrapperにすぎないので、 ld.soの制限をもろ受ける。よってsetuidしたままではpreloadされない。

JARH

Thread.start{print'Just another Ruby hacker,'}.join

2001-05-15 (Tue)

[Cygwin] chcp

kterm -km eucしてるので

% net use /\?

するとメッセージが化ける。 Windowsなんだからsjisで使えばいいんだろうが、 Linuxも使ってるとeucにしたくなっちゃうんだよね。 というわけで

% c:/winnt/system32/chcp.com 437

だ。これでメッセージが英語になる。 chcp.exeばかり探してしまって、なかなかchcp.comに気づかなかった。

bdb 0.1.8

ちょっとextconf.rbを 修正

% mkdir cygwin mingw
% cd cygwin
% i386-cygwin-ruby ../extconf.rb \
    --with-db-prefix=/usr/local/cygwin/BerkeleyDB
% make
% upx *.so
% make site-install
% cat >../bdb.contents
DOC=Changes README.en bdb.html bdb.rd docs examples tests
% make -f ../Makefile.pack PACKAGE=bdb VERSION=0.1.8 TARGET=i386-cygwin
% cd ../mingw
% i386-mingw32-ruby ../extconf.rb \
    --with-db-prefix=/usr/local/mingw/BerkeleyDB
% make
% upx *.so
% make site-install
% make -f ../Makefile.pack PACKAGE=bdb VERSION=0.1.8 TARGET=i386-mingw32

erb 1.3.3

% i386-cygwin-ruby install.rb
% cat >../erb.contents
DOC=INSTALL install.rb sample/*
CONTENTS=usr/local/lib/ruby/site_ruby/$(RUBYVER)/erb/*
% make -f ../Makefile.pack PACKAGE=erb VERSION=1.3.3 TARGET=i386-cygwin

mingw,djgppはsymlink。

drb 1.3.2

% i386-cygwin-ruby install.rb
% cat >../drb.contents
DOC=INSTALL doc install.rb runit sample
CONTENTS=usr/local/lib/ruby/site_ruby/$(RUBYVER)/tuplespace.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/timerholder.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/simpletuple.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/mutexm.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/drb.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/acl.rb \
usr/local/lib/ruby/site_ruby/$(RUBYVER)/drb/*.rb
% make -f ../Makefile.pack PACKAGE=drb VERSION=1.3.2 TARGET=i386-cygwin

同じくmingw,djgppはsymlink。

JARH

print [<<'+'.chomp,<<'+'.chomp,<<'+'.chomp,<<'+'.chomp].join ' '
Just
+
another
+
Ruby
+
hacker,
+

2001-05-16 (Wed)

[Cygwin] setup.ini

Cygwinのsetup.exeではどこからダウンロードをするか選ぶメニューが出てくるが、 これって手でも入力できるようになってる(Other URL)。 つまり、これに合うようにhttpとかftpで場を用意してあげれば、 setup.exeでインストールできるわけだ。 で、それについての説明はどこにあるかというと ここ にある。 偶然setup.iniの中を見たから気づいた。 googleでも検索できないからどこからもリンクされてないようだ。
というわけでOther URLで http://www.ruby-lang.org/~eban/ruby/binaries/cygwin/ を指定すると選べるようにしてみた。
あ、0555なファイルがあると上書きでtarが文句言うのでまずいなあ。 +wしとかないと。

JARH

('JARH'..'Just another Ruby hacker,').end.display

2001-05-17 (Thu)

ネットワークドライブの割り当て

26もあれば十分とか思ってたら、なんだかんだで20も割り当ててる。 でも使ってはいないな。 ドライブレターまで覚えてないから、結局UNCでアクセスしてるし。 整理しよう。

ディスプレイ

電源スィッチを押しても電源が入らない。困ったね。 お、10回目にして入った。いよいよ寿命か。

JARH

('Just another'..'Ruby hacker,').to_s.tr_s('.', ' ').display

2001-05-18 (Fri)

Object Day 2001

とりあえず.NETの話を気合い入れて聞こうと思っていたのに、 半分寝てた。

Psion S5

まつもとさんがPDAでやっぱ動かしたいっつーので、 再開しようかなと思う。
m68k-palmosな環境はまだ残っているからそのあたりは問題ないはず。 heliumにインストールしてしまう手もあるか。
GCC 3.0が早く出ればなあ。

JARH

unless true then else 'Just another Ruby hacker,' end.display

2001-05-19 (Sat)

昨日のニュースステーションで降るかもと言ってたがほんとに降った。

Forwarding DLL

とりあえず昨年9月のruby-dev MLを紐解き、まずは Peering Inside the PE をじっくり読んでみる。 てゆうか、 [ruby-dev:10967] なんてすっかり忘れてたな。

JARH

loop do print 'Just another Ruby hacker,'; break end

2001-05-20 (Sun)

1.6.4

なかなか出ないなあ。あ、一昨日会ったときに聞こうと思って忘れてた。

Forwarding DLL

なんのためにこれが必要なのか書いてなかった。 そもそもmswin32版というかActiveScriptRubyで動く拡張ライブラリは、 VC++以外でも作れるのかという話が@niftyで出たのが発端だ。

あれ を読んでもよくわからなかったという話は置いといて、 いろいろ実験してみると結局dlltoolでは

EXPORTS
foo = mswin32-ruby16.foo

ってな感じでruby.defを用意すればforwardできるDLLが作れそうだ。 やってみたらあっけなくできた。 で、ちゃんと$(sitearchdir)/ruby16.dllを用意すればokだ。 つまりmingw32版rubyを作る途中でできるruby.defを元に

% ruby -lpe '$_ += "=mswin32-ruby16." + $_ if $. != 1' ruby.def \
  >mswin32-ruby16.def
% dllwrap --driver-name=gcc -mno-cygwin --target=mingw32 \
  --dll=ruby16.dll --def=mswin32-ruby16.def \
  --output-lib=libruby16.a -o ruby16.dll

でruby16.dllを作る。これを

/usr/local/lib/ruby/site_ruby/1.6/i686-mswin32

に置いて 海賊課 からmswin32版を取ってきて/usr/localへインストールする。 とりあえずWin32API.soを作って試したら動いた。

Psion S5

なに書いてんだか。m68k-palmosはPalmに決まってんじゃん。 PSION S5 EPOC32はarm-peだよ。

% ls /usr/local/bin/arm-pe-*
zsh: no matches found: /usr/local/bin/arm-pe-*

消しちゃったようだ。 でも/usr/local/arm-peから下は残っているのでlnすればいけるか?

% cd /usr/local/arm-pe/bin
% for i in *
% for> do
% for> ln $i /usr/local/bin/arm-pe-$i
% for> done
% arm-pe-gcc -v
Reading specs from /usr/local/lib/gcc-lib/arm-pe/2.97/specs
Configured with:  --target=arm-pe --enable-languages=c,c++
gcc version 2.97 20001009 (experimental)

とりあえず復活できた。 これを見てもわかるとおり中途半端なsnapshotを使っているので、 GCC 3.0にしたいんだよねえ。いつ出るんだろ?

JARH

class String
  def coerce x
    print self
    [0, 0]
  end
  1 + 'Just another Ruby hacker,'
end

<Prev(,) | Next(.)> | Recent(/)>> | RDF


WWW を検索 jarp.does.notwork.org を検索

わたなべひろふみ
Key fingerprint = C456 1350 085F A320 C6C8 8A36 0F15 9B2E EB12 3885
Valid HTML 4.01!