繁体   English   中英

openLdap BerkleyDB编译问题

[英]openLdap BerkleyDB compiling problems

我试图用BerkleyDB编译openLDAP,但每次收到此消息时,我都会得到:

版:

BerleyDB:db-6.1.23

openLDAP:openldap-2.4.40

1.)首先编译BerkleyDB

../dist/configure --prefix = / products / db-6.1.23

符号链接:

BerkleyDB-> db-6.1.23

2.)要编译openLDAP

首先设置PATH:

CPPFLAGS =“-I / products / BerkleyDB / include” LDFLAGS =“-L / products / BerkleyDB / lib -L ​​/ products / BerkleyDB / lib -R / products / BerkleyDB / lib” LD_LIBRARY_PATH =“ / products / BerkleyDB / lib”导出CPPFLAGS LD_LIBRARY_PATH LDFLAGS

然后:

./configure --prefix = /产品/openldap-2.4.40

.....检查BDB / HDB后端是否支持Berkeley DB版本...否配置:错误:BerkeleyDB版本与BDB / HDB后端不兼容

有任何想法吗?!

Error: BerkeleyDB version incompatible with BDB/HDB backends

这意味着您需要升级Berkeley数据库,因为OpenLDAP支持数据库版本> = 4.4。

http://thompsonng.blogspot.com/2014/06/ldap-installing-openldap.html

由于6.0.20中的许可证从BSD更改为AGPL。 搜索“ Berkeley DB许可证更改”以找到有关此内容的文章(我只能发布2个链接,下面的链接提供的信息更多)。

霍华德·朱(Howard Chu)表示,此更改违反了伯克利(Berkeley DB)许可,使用伯克利(Berkeley)DB 6.0或更高版本在没有商业许可的情况下运行LDAP服务器: http : //www.openldap.org/lists/openldap-technical/201309/ msg00116.html

Howard在该消息中指出,使用6.0或更高版本并不比使用5.3更好。

结果,OpenLDAP开发人员有意添加了对DB 6.0.20或更高版本的检查: http : //www.openldap.org/its/index.cgi/Build?id= 7890;selectid=7890

当然,一段时间以来,OpenLDAP开发人员一直期望对Berkeley DB许可进行更改,并开发了自己的数据库引擎LMDB,该引擎已被以前使用Berkeley DB的许多开源项目所采用。 自然,OpenLDAP具有此数据库引擎的后端back_mdb。

所以:

  • 如果您已有使用back_bdb或back_hdb(都使用Berkeley DB作为数据库库)的OpenLDAP数据库,请使用Berkeley DB 5.3进行编译,并计划将来迁移到back_mdb

  • 如果您要在商业产品中交付OpenLDAP,并且要求Berkeley DB 6.x带有(back_bdb,back_hdb),请从Oracle获得商业许可或交付DB 5.3(并计划进行迁移)。

  • 如果您只是在寻找最可靠,性能最佳的OpenLDAP本地存储后端,则应该使用back_mdb

(顺便说一句,由于许可证更改,许多linux发行版仍交付5.3,而不会交付6.x)

sed -i '/6.0.20/ a\\t__db_version_compat' configure

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM