HI!
I wonder what's considered best practice for building OpenLDAP and lmdb packages e.g. for a Linux distribution.
Fortunately lmdb seems to be leveraged by more and more other software. So Linux distributions start to ship lmdb libs and tools as separate packages.
1. Do I have a chance to build OpenLDAP against those packages? Which releases have to be aligned?
2. Or should I link back-mdb statically into slapd when producing OpenLDAP packages? This would probably also require to build separate version of the mdb tools.
Of course personally I'd prefer 1.
Ciao, Michael.
--On Saturday, September 26, 2015 8:11 PM +0200 Michael Ströder michael@stroeder.com wrote:
HI!
I wonder what's considered best practice for building OpenLDAP and lmdb packages e.g. for a Linux distribution.
Fortunately lmdb seems to be leveraged by more and more other software. So Linux distributions start to ship lmdb libs and tools as separate packages.
- Do I have a chance to build OpenLDAP against those packages? Which
releases have to be aligned?
- Or should I link back-mdb statically into slapd when producing OpenLDAP
packages? This would probably also require to build separate version of the mdb tools.
OpenLDAP should only ever be statically linked to the version of liblmdb it ships with.
--Quanah
--
Quanah Gibson-Mount Platform Architect Zimbra, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
Hi,
+1 Statically link is a bad idea in this case, IMHO.
Le 26/09/2015 20:39, Quanah Gibson-Mount a écrit :
--On Saturday, September 26, 2015 8:11 PM +0200 Michael Ströder michael@stroeder.com wrote:
HI!
I wonder what's considered best practice for building OpenLDAP and lmdb packages e.g. for a Linux distribution.
Fortunately lmdb seems to be leveraged by more and more other software. So Linux distributions start to ship lmdb libs and tools as separate packages.
- Do I have a chance to build OpenLDAP against those packages? Which
releases have to be aligned?
- Or should I link back-mdb statically into slapd when producing
OpenLDAP packages? This would probably also require to build separate version of the mdb tools.
OpenLDAP should only ever be statically linked to the version of liblmdb it ships with.
--Quanah
--
Quanah Gibson-Mount Platform Architect Zimbra, Inc.
Zimbra :: the leader in open source messaging and collaboration
--On Sunday, September 27, 2015 9:26 AM +0200 Abdelhamid Meddeb abdelhamid@meddeb.net wrote:
Hi,
+1 Statically link is a bad idea in this case, IMHO.
Nope, statically linked is the only supported method. Any given OpenLDAP release is designed specifically to work with the LMDB version it ships with. Dynamically linking it where the LMDB version could be changed underneath OpenLDAP is not supported.
--Quanah
--
Quanah Gibson-Mount Platform Architect Zimbra, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
Abdelhamid Meddeb wrote:
Hi,
+1 Statically link is a bad idea in this case, IMHO.
OpenLDAP source code is released as a single unit. This situation is no different than building slapd itself against libldap_r. If you split things apart and mix versions, you can potentially break them.
Le 26/09/2015 20:39, Quanah Gibson-Mount a écrit :
--On Saturday, September 26, 2015 8:11 PM +0200 Michael Ströder michael@stroeder.com wrote:
HI!
I wonder what's considered best practice for building OpenLDAP and lmdb packages e.g. for a Linux distribution.
Fortunately lmdb seems to be leveraged by more and more other software. So Linux distributions start to ship lmdb libs and tools as separate packages.
- Do I have a chance to build OpenLDAP against those packages? Which
releases have to be aligned?
- Or should I link back-mdb statically into slapd when producing
OpenLDAP packages? This would probably also require to build separate version of the mdb tools.
OpenLDAP should only ever be statically linked to the version of liblmdb it ships with.
On Sun, Sep 27, 2015 at 22:07:21 +0100, Howard Chu wrote:
OpenLDAP source code is released as a single unit. This situation is no different than building slapd itself against libldap_r. If you split things apart and mix versions, you can potentially break them.
Would it be possible to install the mdb_* tools by default with a standard OpenLDAP build/install, so they don't have to be built and packaged separately either?
Geert
Geert Hendrickx wrote:
On Sun, Sep 27, 2015 at 22:07:21 +0100, Howard Chu wrote:
OpenLDAP source code is released as a single unit. This situation is no different than building slapd itself against libldap_r. If you split things apart and mix versions, you can potentially break them.
Would it be possible to install the mdb_* tools by default with a standard OpenLDAP build/install, so they don't have to be built and packaged separately either?
If the tools built from OpenLDAP sources depend on a specific library version (I assume they do) then one would have to use another path prefix when installing them.
Hmm, in the long run I'd like to see a single liblmdb being installed with the accompanying tools system-wide just like the BDB libs/tools. I understand that this would limit the freedom of developing/shipping an OpenLDAP-specific "fork" in the OpenLDAP sources.
Ciao, Michael.
--On Monday, September 28, 2015 10:26 AM +0200 Michael Ströder michael@stroeder.com wrote:
Hmm, in the long run I'd like to see a single liblmdb being installed with the accompanying tools system-wide just like the BDB libs/tools. I understand that this would limit the freedom of developing/shipping an OpenLDAP-specific "fork" in the OpenLDAP sources.
Can't say I've necessarily seen that done with BDB either... Like RHEL and debian tend to have multiple bdb versions available, with the tools named things like db42_dump etc, so that the version specific utilities can be used.
On the LMDB side, we're missing things like libtool versioning that would allow this to be more easily possible. Also, having it so 0.9.x is backwards compatible with 0.9.y, y < x, would make things a bit easier to deal with as well.
--Quanah
--
Quanah Gibson-Mount Platform Architect Zimbra, Inc. -------------------- Zimbra :: the leader in open source messaging and collaboration
Hi,
Thanks to all. Now I anderstand more about that It's a bit unfortunate that it's so. But most important is reliability and performance.
Cheers.
Le 27/09/2015 23:07, Howard Chu a écrit :
OpenLDAP source code is released as a single unit. This situation is no different than building slapd itself against libldap_r. If you split things apart and mix versions, you can potentially break them.
Le 28/09/2015 17:58, Quanah Gibson-Mount a écrit :
--On Monday, September 28, 2015 10:26 AM +0200 Michael Ströder michael@stroeder.com wrote:
Hmm, in the long run I'd like to see a single liblmdb being installed with the accompanying tools system-wide just like the BDB libs/tools. I understand that this would limit the freedom of developing/shipping an OpenLDAP-specific "fork" in the OpenLDAP sources.
Can't say I've necessarily seen that done with BDB either... Like RHEL and debian tend to have multiple bdb versions available, with the tools named things like db42_dump etc, so that the version specific utilities can be used.
On the LMDB side, we're missing things like libtool versioning that would allow this to be more easily possible. Also, having it so 0.9.x is backwards compatible with 0.9.y, y < x, would make things a bit easier to deal with as well.
--Quanah
--
Quanah Gibson-Mount Platform Architect Zimbra, Inc.
Zimbra :: the leader in open source messaging and collaboration
openldap-technical@openldap.org