从源构建 OpenLDAP 并缺少 BerkelyDB [关闭]

Posted

技术标签:

【中文标题】从源构建 OpenLDAP 并缺少 BerkelyDB [关闭]【英文标题】:Building OpenLDAP from sources and missing BerkelyDB [closed] 【发布时间】:2010-10-03 00:31:18 【问题描述】:

我正在 RHEL 5 上构建 OpenLDAP;我使用了在http://www.linux.com/archive/feature/113607 找到的说明。

一切顺利,直到为 OpenLDAP 运行 './configure' - 记录了以下错误:

*<earlier output snipped>*
checking for gethostbyaddr_r... yes
checking number of arguments of ctime_r... 2
checking number of arguments of gethostbyname_r... 6
checking number of arguments of gethostbyaddr_r... 8
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for Berkeley DB major version in db.h... 5
checking for Berkeley DB minor version in db.h... 1
checking if Berkeley DB version supported by BDB/HDB backends... yes
**checking for Berkeley DB link (default)... no
configure: error: BDB/HDB: BerkeleyDB not available**

我像疯子一样在 Google 上搜索,但未能找到解决方案 - 有什么关于探索领域的提示吗?

谢谢

【问题讨论】:

对不起 - 终端输出似乎环绕。我不知道为什么。希望输出仍然清晰。谢谢大家的帮助。 我认为您应该重新考虑您接受的答案。 Naveen 提供了一个与 Stack Overflow 一致的(而不是超级用户)。 【参考方案1】:

yum install db4-devel

(或者只安装预打包的openldap,yum install openldap-servers openldap-clients

【讨论】:

我使用了yum install openldap-servers,但在使用 Mozilla NSS 时遇到了问题。更多详细信息可以找到here。这就是我从头开始构建 OpenLDAP 的原因。 我发现 BDB 是正在构建的 OpenLDAP 版本的旧工具。有没有办法禁用 BerkleyDB?【参考方案2】:

看来您正在使用 tarball 安装,首先您应该安装 Berkeley DB。您可以从 oracle 网站Oracle Berkeley DB Downloads 找到它。编译安装。

cd db-4.7.25.NC
. ./dist/configure
make
make install
cd /usr/local/BerkeleyDB.4.7/

这将安装 BerkeleyDB。现在您需要提供成功编译 OpenLDAP 的位置。

export CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include"
export LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib -Wl,-R,/usr/local/BerkeleyDB.4.7/lib -Wl,--enable-new-dtags"
# Build OpenLDAP
... 

如果您没有设置RPATH,那么您应该将LD_LIBRARY_PATH 添加到/etc/profile。

export LD_LIBRARY_PATH="/usr/local/BerkeleyDB.4.7/lib"

编译 OpenLDAP 后,如果您遇到任何问题,请告诉我。

【讨论】:

我可以安全地将 CPPFLAGS 和 LDFLAGS 添加到 /etc/profile 吗?否则,添加 LD_LIBRARY_PATH 并重启提示后,前面的两个变量会丢失。 +1 提供从源代码构建和安装库的说明。【参考方案3】:

对于 CentOS 7,请执行 yum install libdb-devel。 libdb4-devel 对我不起作用。

【讨论】:

是的。 db4-devel 是 CentOS 【参考方案4】:

debian 试试:

aptitude install libdb5.1 libdb5.1-dev libdb5.1-dbg

【讨论】:

【参考方案5】:

apt-get install libdb-dev 在 Ubuntu Server 中为我工作。

【讨论】:

以上是关于从源构建 OpenLDAP 并缺少 BerkelyDB [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

强化学习入门笔记 | UCL silver RL | UC Berkely cs285 DRL

无法从源 MacOS High Sierra 构建 TensorFlow

Apache Httpd 从源构建:致命错误:expat.h:没有这样的文件或目录

在 Maven 构建期间将文件夹从源复制到目标

在 Mac OS 10.15 上使用 gn 和 ninja 从源构建电子时出错

Slurm及OpenLDAP部署