Namazu-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: make error on Mac OS X



寺西です。

Yasuaki KAI wrote:
>
> 寺西さん、早速のアドバイス有り難うございます。即刻やってみました。
> makeの結果は下記のようで、どうもこれではうまく行かないようです。
> 
> gcc -g -O2 -Wall -pedantic -o namazu form.o namazu.o output.o rcfile.o
> result.o usage.o namazu-cmd.o  /usr/local/lib/libintl.dylib
> -L/usr/local/lib
> -lc /usr/local/lib/libiconv.dylib ../nmz/.libs/libnmz.a
> ../lib/libnmzut.a
> ld: multiple definitions of symbol _getopt
> /usr/lib/libc.dylib(getopt.So) definition of _getopt
> ../lib/libnmzut.a(getopt.o) definition of _getopt in section
> (__TEXT,__text)

うーむ。やっぱり libc とぶつかっているということなのでしょうね。

>  また、このままmakeすると2重定義のエラーが発生してしまうため、
> lib/getopt.cとlib/getopt.hを一部編集する。具体的には、これらの

これは衝突を回避するために libnmzut.a 側で対処しようということ
だと思います。これはこれで良いとは思いますが、きちんと修正しない
と、いろいろとトラブルを起こすでしょう。

> lib/getopt.c, lib/getopt.h, lib/getopt1.cの3ファイルの4変数 getopt,
> opterr, optind, optopt をそれぞれ getopt_t, opterr_t, optind_t,
> optopt_t に変更して ./configure; make としてみると、とりあえずエラー
> はでずに終了しました。make check とやってみるとmknmz, gcnmz, idxiff,
> namazu-cgi, ja-mknmz, ja-namazu-cgiはPASSでしたが、namazu-1〜namazu-9,
> namazu-11はFAILとなっていました。namazuのビルドには問題が残っていそう
> です。

src/namazu-cmd.c の中にも optind を使っているところがあります。
ですので、ここを optind_t にすると直るかもしれません。

その他、4変数を使っているところが他に無いか確認してみてください。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E