Just another Ruby porter,

〜2003年11月下旬〜


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

2003-11-21 (Fri)

[Ruby] ruby-talk

それにしてもよくもまあそんなに書く暇があるもんだ。 今日は154通。

[Video] トランスポーター

どこかで見たことあると思ったら、 クローサーの姉役の人だった。


2003-11-22 (Sat)

[Soft] diet libc 0.24

更新。

[DJGPP][Ruby] cmp

configureの最後の方でcmpが実行されるので、diffutilsも必要。

% ls -w70
acnf257b.zip  bsn135b.zip   djtzn203.zip  gpp332b.zip   sed407b.zip
bnu214b.zip   dif28b.zip    fil41b.zip    grep24b.zip   shl2011b.zip
bsh204b.zip   djdev203.zip  gcc332b.zip   mak3791b.zip  txt20b.zip

2003-11-23 (Sun)

[Ruby] ftools.rb

ftools.rbにもFile.cp "foo", "foo"で fooが0バイトになってしまう問題はあるわけだけど、これどうしようかな。 fileutils.rbと同じ変更をするのも芸がないし、 いっそのことfileutils.rbを使ってftools.rbを書き換えてしまうか。 なんか以前もそんなことを言ってた気がするぞ。


2003-11-24 (Mon)

[Ruby] test_ftools.rb

というわけで、test/fileutils/test_fileutils.rbをパクって test_ftools.rbを用意した。あとは実装するだけだ。


2003-11-25 (Tue)

[Ruby] test_ftools.rb

人の手でftools.rbに合わせてたりすると、 test_fileutils.rbが変更されるとそれに伴って変更したりするのが大変。 というわけで、変換スクリプトを考えたほうがよさげだ。 もしくはどうせftools.rbの機能は限られてるので、もうあれでよしとする。

[Ruby] 1.8.1 preview3

出なかった。pthread問題が結構痛い。

[Ruby] redirect stdout

reopenするのがふつうだけど(mswinだけでいいのかよってのは置いとくとして)、

def $stdout.write(*) end

でいいような。

class << $stdout
  remove_method "write"
end

とすれば元に戻る。systemには効かないけど。


2003-11-26 (Wed)

[Ruby] bdb 0.4.9

-ldb-4.2をチェックしてるということはBerkley DB 4.2.xが出てるということか。 週末にでも。

[Soft] CMI

実にあやしげなソフトだ。 ドキュメントを読むとcppした結果をまとめて最適化し1個のソースに変換してるようだ。 GCC 3.xだとcc1がcppを兼ねてるから、 -save-tempsしても*.iは出てこないんだよなあ。

適当にファイルを作ってMakefileをincludeするか。 rubyで試そう。

% cat CMIfile
include Makefile

.SUFFIXES: .i
.c.i:
	$(CC) $(CFLAGS) $(CPPFLAGS) -E $< -o $@

flat.c: $(OBJS:.o=.i)
	cmi *.i -o flat.c
% make -f CMIfile flat.c
...
Fail: substHole met an unexpected case
make: *** [flat.c] Error 1

ぐはぁ。


2003-11-27 (Thu)

[Ruby][Win32] File.exist?("nul")

なぜmsvcrt版rubyでFile.exist?("nul")がfalseになるのかがうささんの協力で判明。 win32/win32.cのrb_w32_stat()で_fullpath()を呼んでいるけど、 こいつが\\.\nulを返し、それを受け取ったstat()が-1を返すからだった。 しっかりしろー、msvcrt.dllよ。 _fullpath()で変換したものをstat()できなくてどうする。 ってわけで、なんで入れたんだが思い出せん_fullpath()は削除して、 ついでにFile.exist?("//host/share/.")がfalseになっていたのを直してコミット。


2003-11-28 (Fri)

[Ruby][FreeBSD][OpenBSD] symlinkのlink

% mkdir tmp
% ln -s tmp/symlink tmp/symlink
% ln tmp/symlink tmp/symlink

としたとき、Linux, NetBSDではEEXITになり、OpenBSD, FreeBSDではENOENTになる。 test/fileutils/test_fileutils.rbのtest_lnがこのテストしていた。 OpenBSDでは

% ln -s . tmp/symlink

でEEXISTになったので、とりあえずこれでコミットしたわけだが、 今日なひさんの報告でFreeBSDではEPERMになることがわかった。 tmp/symlinkの先が.でディレクトリなのでtmp/symlink/symlinkを作ろうとしいるようだ。 チェックが甘かった。 test_lnであらかじめ作っているtmp/cptmpというファイルを使い、

% ln -s cptmp tmp/symlink

となるように変更。

SUSv3

http://www.unix-systems.org/version3/online.htmlから読めるんだねえ。知らなかった。早速link()を読んでみたがよくわからん。


2003-11-29 (Sat)

[Linux] Linux 2.4.23

特に問題なく起動した。それにしても2.6は今年中に出るのだろうか?


2003-11-30 (Sun)

[Ruby] XCFLAGS, ARCH_FLAG

XCFLAGSはrubyやminirubyをコンパイルするときに指定したいオプションを設定。 ARCH_FLAGは主に--enable-fat-binaryしたときに有効で、 コンパイル時、リンク時、共有ライブラリを作るときに指定したいオプションを設定。 cppやcc -Eのようにプリプロセッサを起動するときには指定したくないというのがミソ。 そのあたりは [ruby-core:01819]を参照。

XCFLAGSをmkmf.rbで参照しない代わりに、DLDFLAGSへARCH_FLAGを追加。 ついでに、 [ruby-dev:22085]も考慮して、もろもろをコミット。


<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!