読者です 読者をやめる 読者になる 読者になる

MediaLab Love Chapter 2

Assistance of MediaLab Love about Javascript test and more...

Kyoto CabinetのkcdictをMacOSXにインストールする。

kcdictのコンパイル時にエラーが出ました。

$ make
g++ -O2 -Wall -fPIC -fsigned-char -o kcdictmgr kcdictmgr.o -L. -L.. -L../.. -L/usr/local/lib -Wl,-rpath-link,.:..:../..:/usr/local/lib:.:/usr/local/lib:/usr/local/lib:. -Wl,--as-needed -lkyotocabinet
ld: unknown option: -rpath-link
collect2: ld returned 1 exit status
make: *** [kcdictmgr] Error 1
$ make
g++ -O2 -Wall -fPIC -fsigned-char -o kcdictmgr kcdictmgr.o -L. -L.. -L../.. -L/usr/local/lib -Wl,-rpath,.:..:../..:/usr/local/lib:.:/usr/local/lib:/usr/local/lib:. -Wl,--as-needed -lkyotocabinet
ld: unknown option: --as-needed
collect2: ld returned 1 exit status
make: *** [kcdictmgr] Error 1

おそらくOSXでは、Makefileの"-rpath-link"*1と"--as-needed"が対応していないのでしょう。Macportsでgcc4.7にしてみましたがダメでした*2。(追記 gccじゃなくてldでした)なので、
-rpath-linkを-rpathに、--as-neededを削除*3しました。
これでmakeできました。

*1:[http://stackoverflow.com/questions/4580789/cmake-mac-os-x-ld-unknown-option-soname:title]

*2:[http://d.hatena.ne.jp/S_Amemiya/20101223/1293102564:title]

*3:[http://d.hatena.ne.jp/cou929_la/20091230:title]