(toppers-users 3585) Re: TOPPERS/JSP jsp-1.4.4_full.zip cq_frk版素直に動作せず

Masaki Muranaka monamour @ monaka.org
2011年 10月 13日 (木) 13:54:35 JST


toppers users MLのみなさま:
こんにちは.

下記の件,暫定解法としては ASP の makedep を使っておっしゃるとおりの修正を Makefile に行う手はありそうです.

ただし,よくわからないのが,Cygwin の gcc ではエラーが出ず,Codesourcery の場合に出るという症状です.
おそらくパス名が長くなってプロセス内部のバッファが溢れるとか,パス名長の制限にかかっているとかいう
Win32 もしくはインストール環境依存の制限だと思うのですが,仮にそうだとすると -S オプションでの対応は
付け焼刃であるかもしれません.(別のインストール環境では再現する可能性があります.)

原因が突き止められているわけではありませんが,もし上記の仮定が正しいなら,Makefile を直すのではなく,
make.exe を直す(もしくは直してもらうよう make や cygwin1.dll の作者にレポートする)べきはないかと思います.

2011年10月9日12:13 koizumi yoshiyuki <koizumiyoshiyuki @ gmail.com>:
> 3 1を修正後makeがアボートする
>  こちらは以前小生が質問した、ASPのカーネルライブラリをWindowsで作成できない件と同一だと思います。(Cygwinのmakeの依存関係の記述に制限があるよです)ASPでは回避されていますが、JSPには盛り込まれていないようです。
>  JSPではASPとは異なり、常にライブラリを作成するので、ASPのmakedepを使うならmaikeファイルのライブラリソースの依存関係作成時に”ーS”を追加する必要があります。
>
>  修正部Makefileの抜粋
> ---
> $(KERNEL_LCSRCS:.c=.d): %.d: %.c
>  $(PERL) $(SRCDIR)/utils/makedep -C $(CC) -S -T "$($*)" \
>   -O "$(foreach sym,$($*),-D__$(sym:.o=)) \
>   $(CFLAGS) $(KERNEL_CFLAGS)" $< >> Makefile.depend
> ---
>
>  上記の検証は、ASP版のmakedepを使いました。しかし、ASP版のmakedepをJSPで使って、他の問題を起こさないか小生には判断できません。コメント等を見るとオプションなどに違いがあります。単純に入れ替えると別な問題が出そうな気がしています。
>
>  いずれの問題も以前話題に挙がったようなので、全部入りの新規リリースには盛り込んで欲しい気がしますね。