From: MIYAMUKO Katsuyuki Date: 2004-01-05T17:24:18+09:00 Subject: [ruby-dev:22491] Re: ruby-1.8.1 build failed on HP-UX 11.11 みやむこです。 > でも、テストを実行すると [ruby-list:38962] と同じ問題がでました・・・。 > #4 0x50388 in rb_bug (fmt=0xea178 "rb_sys_fail(%s) - errno == 0") > at error.c:199 > #5 0x51dd0 in rb_sys_fail (mesg=0x0) at error.c:899 > #6 0x68458 in fptr_finalize (fptr=0x4015a668, noraise=0) at io.c:1371 HP-UX と UX/4800 の場合、fclose が EOF を返しても errno が設定されない 場合があるようです。このことが原因でしょうか。 % cat a.c #include #include int main(int argc, char *argv[]) { int n, e; FILE *fp; fp = fopen(argv[1], "r"); printf("fp=%p\n", fp); errno = 12345; n = fclose(fp); e = errno; printf("fclose=%d, errno=%d\n", n, e); errno = 123456; n = fclose(fp); e = errno; printf("fclose=%d, errno=%d\n", n, e); } % cc a.c % a.out a.out fp=7b030f68 fclose=0, errno=12345 fclose=-1, errno=123456 % a.out fp=00000000 fclose=-1, errno=12345 fclose=-1, errno=123456 #全然分かっていないので、はずしているかもしれません。 -- みやむこ