2008年2月22日

[samba-jp:20053] Re:samba-3.0.28でwinbindが起動できない。


山崎です。

>> _MIT not defined in file libkrb5.so.3 with link time reference
>
>Fedora7が壊れているのでは?

おそらく違うと思います。


- 開発者のミス: sambaのrpmのパッケージのspecファイルに書いてある依存関係が
間違っている
- 利用者のミス: 依存関係エラーを無視してsambaのrpmをインストールした

かのどちらかじゃないかと思います。

* * *

理由ですが、エラーメッセージに表示されている見つからないシンボル
 krb5_get_init_creds_opt_alloc
はMIT krb5では 1.6.1以降にしか存在しません。
一方、インストールされているkrb5ライブラリは以下のように1.6と古いです。
 krb5-libs-1.6-6

sambaのソースはconfigure時にライブラリにkrb5_get_init_creds_opt_alloc
が存在するかしないかを調べて、存在しなければ自前の代替のkrb5_get_init_creds_opt_alloc
関数を使うようになっています。それなのに、このエラーが出るということは、

 samba-3.0.28-0.fc7

のコンパイル環境のkrb5ライブラリにはkrb5_get_init_creds_opt_allocがあった
ということです。

* * *

つまり、そのバイナリパッケージをsambaをコンパイルした環境のkrb5ライブラリの
バージョンはMIT krb5の1.6.1以降(or Heimdal?)のはずです。

一方、実行環境ではkrb5のライブラリは1.6と低いので問題のエラーが発生します。
そのようなことにならないように、sambaのRPMのspecファイルには「krb5-1.6.1以降が必要」
という依存関係が書いてあるはず。
依存関係が正しく書いてないのなら、RPMの作成者のミスだと思います。
依存関係が正しく書いてあって、依存関係エラーを無視して強制インストールしたのなら、
利用者のミスだと思います。

とりあえずそのsambaのRPMをそのまま使って問題を回避するなら、krb5-libsのバージョンを
1.6.1以降にバージョンアップするといいと思います。

--
YAMASAKI Hiroyuki
NEC Software Kyushu,Ltd

投稿者 xml-rpc : 2008年2月22日 14:14
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/70208
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。