3

OPENLDAP 2.4.35 を構成しています。Redhat Linux では、前提条件として Berkley DB 4.8.30 を既にインストールしています。また、OPENLDAP の README ファイルからバージョンの互換性を確認しました。

    SLAPD:
    BDB and HDB backends require Oracle Berkeley DB 4.4 - 4.8,
    or 5.0 - 5.1.  It is highly recommended to apply the
    patches from Oracle for a given release.

それでも私はこのエラーが発生しています:

    checking db.h usability... yes
    checking db.h presence... yes
    checking for db.h... yes
    checking for Berkeley DB major version in db.h... 4
    checking for Berkeley DB minor version in db.h... 8
    checking if Berkeley DB version supported by BDB/HDB backends... yes
    checking for Berkeley DB link (-ldb-4.8)... yes
    *checking for Berkeley DB library and header version match... no
    configure: error: Berkeley DB version mismatch*

親切に助けて

4

1 に答える 1

7

現在、構成は正常に機能しています。Berkeley DB のライブラリ パスを適切にエクスポートする必要がありました。

export LD_LIBRARY_PATH="/root/db-6.0.20/build_unix/.libs"

編集 :

このディレクトリbuild_unix/.libsには、OpenLDAP に必要なライブラリが含まれていますが、Berkeley のインストール中に作成された他の多くのファイルも含まれています。インストール中に作成される目的のBerkeley libディレクトリを使用することをお勧めします(PREFIX/libと同じにする必要があります)。これは、ある日、Berkeleyソースディレクトリを削除/更新して、OpenLDAPランタイムを壊す可能性があるためです(編集の最後を参照) )

次のようにして、LD_LIBRARY_PATH 変数をエクスポートするか、OpenLDAP の構成時にのみ設定することができます。

LD_LIBRARY_PATH="/root/db-6.0.20.installed/lib" ./configure

通常、他の構成オプションがありますが、ここでは省略します。

正しくインストールされた後でも、OpenLDAP は起動に失敗し、ログに次のエラー メッセージが記録される場合があります。

5d34473d bdb_back_initialize: BDB library version mismatch: expected Berkeley DB 5.3.28: (September  9, 2013), got Berkeley DB 5.3.21: (May 11, 2012)

この問題を解決するための解決策は、今度は起動スクリプトで LD_LIBRARY_PATH 変数を強制することです (たとえば、/etc/init.d/openldap など)。ランタイムについて話しているので、build_unix/.libs一時的と見なされるディレクトリではなく、作成されたディレクトリを呼び出す必要があることに注意することが重要です/lib

于 2013-08-02T10:07:06.927 に答える