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

YAMASAKI Hiroyuki yamasaki.hiroyuki @ sp.qnes.nec.co.jp
2008年 2月 22日 (金) 14:14:30 JST


山崎です。

>> _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



samba-jp メーリングリストの案内