これが分からなくて散々悩んだ。
configure ものはどうやって判定していて、判定法はどこに書いてあるのかちっとも分からん。
ports で突っ込んだ heimdal も OS の src tree に入ってる heimdal もほとんど同一なのに ports からインストールしておかないとこのシステムには kerberos がないと断定されてしまっていたわけだが、やっと ports と /usr/lib の違いを発見。
ports 版はちゃんと shared library になっていて、何をリンクしているかが分かるんだが /usr/lib 版はそれがない。 ldd(1) で見るとこんな感じ
xxxxxxx-afs1# ldd lib/libkrb5.so heimdal/lib/libkrb5.so
lib/libkrb5.so:
heimdal/lib/libkrb5.so:
libcrypto.so.3 => /lib/libcrypto.so.3 (0x2818e000)
libasn1.so.6 => /usr/heimdal/lib/libasn1.so.6 (0x2829c000)
libroken.so.16 => /usr/heimdal/lib/libroken.so.16 (0x282c2000)
libcrypt.so.2 => /lib/libcrypt.so.2 (0x282d0000)
libc.so.5 => /lib/libc.so.5 (0x28076000)
libcom_err.so.2 => /usr/lib/libcom_err.so.2 (0x282e9000)
configure は -lroken をつけずにチェックを回すんだが heimdal 版なら勝手に見つかるけところを /usr/lib 版だと undefined reference で終わっちゃう。じゃあ /usr/lib 版の roken でいいかというと微妙に関数足らないんだけど……。 libc に同種の関数があるのは省いたな……
うーむ、 -lkafs5 もつけて欲しいんだが見つけてくれてないのかな?名前か?名前が悪いんか? libkafs.so -> libkafs5.so な symlink 作って逃げたり(ょゎ
む、 header ない…(:_:)
できた〜〜〜〜〜〜〜〜。\(^^)/でも、疲れた………(;_;)
[referer: [an error occurred while processing this directive]]