簡體   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