ヘッダがおかしいのかと思ってしばらく調べるも、結論は「epoc 用の egcs こわれてる〜」に至った。
NetBSD/m68k 1.5.1 にデフォルトで入っている egcs-1.1.2 は非常に怪しい
Mozilla コンパイルしようとした時も、-O なしだと、RTTI 内部エラーが出て、-O2 を付けるとコンパイルが出来たりした。epoc 用の egcs 作った時も、コンパイル時に (NetBSD のネイティブコンパイラに)-O2 を付けると、ライブラリ構築時に内部エラーで止まってしまって、あわてて -O オプションで egcs 作りなおしたもんなぁ。
package から gcc-2.95.2 をいれて、setenv CC /usr/pkg/gcc-2.95.2/bin/gccののちに configure 、compile。どうやら今回は変な小細工せずにすみそうだ。
怪しげなエラーの理由、判明
epoc 用の egcs は無罪でした。Ng の使っている CPP のマクロ(T および _L) が、epoc 用のヘッダの内容とかち合っているせいでした。
と言うわけで、epoc のヘッダをインクルードする前に
#undef _L
#undef T
をいれて解決。
0 件のコメント:
コメントを投稿