Shiro Kawai
shiro****@lava*****
2004年 7月 10日 (土) 08:26:53 JST
ひさびさにWindows立ち上げてWindows Updateをかけてました。 再起動してほっといて気づいたらLinuxが立ち上がってた…というのを 何度もやってしまう。 From: shelarcy <shela****@capel*****> Subject: [Gauche-devel-jp] Re: gosh の開発で行き詰まった Date: Sat, 10 Jul 2004 08:15:27 +0900 > もしや、と思ってスタブを外してみたらうまく動きました。 > 元の patch での GUI アプリケーション生成の際に障害が出ていたということな > のかな? ああ、そうかもしれません。有野さんはコンソールのreplは要らなくて 別の用途に使いたいってことだったと思います。 libgauche.dll自体はコンソール無しでも動いてほしいでしょうから、 標準出力、エラー出力関係はなんとかする必要がありそうですね。 > C:\develop\Gauche-0.8\boost>gosh > *** ERROR: unbound variable: sys-access > Stack Trace: > _______________________________________ > 0 (sys-access dotfile F_OK) > At line 145 of "../lib/gauche/interactive.scm" > WARNING: couldn't load gauche.interactive > > > +(if "!defined(WIN32_NATIVE)" > (define-cproc sys-access (pathname::<string> amode::<int>) > "int r; > if (geteuid() != getuid() || getegid() != getgid()) { > Scm_Error(\"cannot use sys-access in suid/sgid program.\"); > } > SCM_SYSCALL(r, access(Scm_GetStringConst(pathname), amode)); > - SCM_RETURN((r == 0)? SCM_TRUE : SCM_FALSE);") > + SCM_RETURN((r == 0)? SCM_TRUE : SCM_FALSE);")) > > これで逃げているのがよくないんですよね。……でも、geteuid、getuid、 > getegid、getgid あたりって存在しないし…… ここはsys-accessでファイルの存在チェックをやってるとこですね。 geteuid etc.の項はunixのsuid/sgidプログラムでセキュリティホールを 作らないようにするためのものなので、Windowsではチェック部分を 飛ばしていいと思います。access(2)が無ければ、同等のWindows APIに 置き換えちゃって下さい。 > そのあたりはちゃんとしたものが出来上がったら shiro さんにやってもらいた > いと思います。autotools 使えないので……。 ふーむ。私がやるとすると、cygwin+mingwでconfigureを走らせる、 という方向に行きそうな気がします。それで動いてしまうなら敢えて boostを触る必要もなさそうな。 > 見たところ存在するのは [...] > のようですが、これでどうにかなるのかな? > signal 関係良く分からない……。 シグナルをブロックするコールってのがどっかにあると思うんですが… (でないと使い物にならない)。 > > - bignum.c冒頭のallocaまわりのパッチがよく分からないんですが、今のだと > > ちょっとまずくないかしら。 > > そのあたりは、元の patch がそうなってたからそうしたという形なので、直す > 必要があれば直します。 ここは後でなんとかなるので後回しでいいでしょう。 --shiro