From: Masaki Suketa Date: 2007-02-07T21:20:54+09:00 Subject: [ruby-dev:30303] fail to compile trunk in cygwin 助田です。 Cygwin で trunk のコンパイルが失敗します。 すいません。報告だけです。 ./process.c: In function `rb_proc_exec': ./process.c:1004: error: `P_OVERLAY' undeclared (first use in this function) ./process.c:1004: error: (Each undeclared identifier is reported only once ./process.c:1004: error: for each function it appears in.) make: *** [process.o] Error 1 Cygwinで、rb_w32_procを使うのと使わないのと どちらが正解なんでしょうか? 試しに、rb_w32_procを使わない方が意図した動きなのかと思い、 単純に使わない方を選択したら、 miniruby.exe はできましたが、拡張ライブラリのmakeで失敗して ruby.exeができませんでした。 system当たりが怪しいのかと思い、できたminiruby.exeで ./miniruby.exe -e 'system("ls")' としたら、core dumpしました。 -- stack frame ------------ 0000 (0x7fe30008): 00000004 0001 (0x7fe3000c): 00000005 0002 (0x7fe30010): 00000004 0003 (0x7fe30014): 00000001 0004 (0x7fe30018): 00000004 0005 (0x7fe3001c): 7ff0a4f4 0006 (0x7fe30020): 00000004 0007 (0x7fe30024): 00000001 <- lfp <- dfp -- control frame ---------- c:0004 p:---- s:0008 b:0008 l:000007 d:000007 CFUNC :system c:0003 p:0009 s:0004 b:0004 l:000003 d:000003 TOP -e:1 c:0002 p:---- s:0002 b:0002 l:000001 d:000001 FINISH c:0001 p:---- s:0000 b:-001 l:000000 d:000000 ------ --------------------------- DBG> : "-e:1:in `
'" [BUG] rb_sys_fail(ls) - errno == 0 ruby 1.9.0 (2007-02-07) [i386-cygwin] 多分、このあたりの変更が影響しているんじゃないかと思いますが よくわかりません。 Wed Feb 7 03:39:32 2007 Koichi Sasada * blockinlining.c, compile.c, compile.h, error.c, eval.c, eval_intern.h, eval_jump.h, eval_load.c, eval_method.h, eval_safe.h, gc.c, insnhelper.h, insns.def, iseq.c, proc.c, process.c, signal.c, thread.c, thread_pthread.ci, thread_win32.ci, vm.c, vm.h, vm_dump.c, vm_evalbody.ci, vm_macro.def, yarv.h, yarvcore.h, yarvcore.c: change type and macro names: * yarv_*_t -> rb_*_t * yarv_*_struct -> rb_*_struct * yarv_tag -> rb_vm_tag * YARV_* -> RUBY_VM_* 助田 雅紀