トップページunix
1001コメント317KB

Cygwin使っている人いますか? その19

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2008/12/31(水) 09:29:26
Cygwin Information and Installation
http://www.cygwin.com/

Cygwin アンテナ
http://sohda.net/cygwin/antenna/

>>2-5あたりにログなど
09119092010/02/05(金) 22:36:18
>>909の続きを読む
→Andrewがパッチ作ったといってる
→Cygwinのscreenのソースを落とす
→screen-4.0.3-5.src.patch眺める
→エラーと>>909の内容から
extern.hの
+#ifndef __CYGWIN__
extern void execvpe __P((char *, char **, char **));
+#endif
とwindow.cの
+#ifndef __CYGWIN__
+
void
execvpe(prog, args, env)
char *prog, **args, **env;
@@ -1433,6 +1438,8 @@ char *prog, **args, **env;
errno = EACCES;
}

+#endif /* __CYGWIN__ */
あたりが怪しいとあたりをつける
→tscreenのソースの該当部分いじれば何とかなるかなと推測

おいらはプログラムの経験無くてよくわからんのではずしてるかも知れんけど
0912名無しさん@お腹いっぱい。2010/02/06(土) 01:39:06
>>906
tscreen-0.4.9を落としてみた。
これ、要するに、今までの cygwin には  execvpe() が無かったので
自分でもどきを作ってたら本家がサポートしちゃった、ってことだね

で修正方法だけど、excevpeを使ってるのが4箇所ぐらいあるけど、
これを適当な別の名前に変えるのがいいと思う。

bash-3.2$ grep -n execvpe *
display.c:4520:      execvpe(*cmdv, cmdv, NewEnv + 3);
extern.h:155:extern void  execvpe __P((char *, char **, char **));
window.c:1458:      debug1("calling execvpe %s\n", proc);
window.c:1459:      execvpe(proc, args, NewEnv);
window.c:1471:execvpe(prog, args, env)
bash-3.2$

(debug1の中をのぞく) 4箇所の execvpe を全部 execvpe2 に書き換えたら、
コンパイルも出来たし、動作も正常にだったよ

まあ、稀によくある問題
レス数が900を超えています。1000を超えると表示できなくなるよ。