Namazu-users-ja(旧)


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

Re: make error on Mac OS X



寺西です。

手元に Mac OS X はあるのですが、検証はしていません。ので、話半分
で聞いてください。

Yasuaki KAI wrote:
> 
> MAC OS X (Version 10.2.6)にNamazuをインストールしようとして
> います。nkf, KAKASI, Text-KAKASIと順調にインストールできたの
> ですが、Namazuのソースファイルをmakeするときに以下のエラーが
> 出て止まってしまいました。
...
> [namazu-users-ja:01643] NAMAZU on Darwin (MAC OS X) に書かれ
> ている現象と酷似しているので、スレッドを参考に nmz/Makefile
> の 165行目「LIBS = -lm 」を「LIBS = 」として make してみまし
> たが、結果は全く変化ありませんでした。
> 以後の対処の仕方が分かりません。

http://www.namazu.org/ml/namazu-users-ja/msg01653.html
にもありますが、どうやら、libm のシンボルと衝突しているようですね。
 
> Making check in src
> /bin/sh ../libtool --mode=link gcc  -g -O2 -Wall -pedantic -o namazu
> form.o namazu.o output.o rcfile.o result.o usage.o namazu-cmd.o
> -lintl -liconv ../nmz/libnmz.la ../lib/libnmzut.a  -lm
> 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 -lm

ここで -lm がついていますので、シンボルが衝突しているのかも
しれません。

> 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)
> ld: multiple definitions of symbol _opterr
> /usr/lib/libc.dylib(getopt.So) definition of _opterr
> ../lib/libnmzut.a(getopt.o) definition of _opterr in section
> (__DATA,__data)

とりあえず、lib/Makefile, nmz/Makefile, src/Makefile の
「LIBS = -lm 」を「LIBS = 」として、make clean ; make
してみてはいかがでしょう。

# しかし、nmz/hlist.c, nmz/score.c で math.h をインクルードして
# いるのに -lm を外していいのだろうか!?
-- 
=====================================================================
寺西 忠勝(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