我正在配置 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*
请帮忙
现在配置工作正常。我必须正确导出 Berkeley DB 的库路径:
export LD_LIBRARY_PATH="/root/db-6.0.20/build_unix/.libs"
Edit :
目录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
目录。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)