Hello Tom,
on my system I have installed first OpenLDAP 2.4, and then in addition
OpenLDAP 2.5. The problem is, that postgresql (daemon) links with
libldap-2.5, and libpq links with libldap_r-2.4 . So any executable
(e.g. php) which links with both libldap and libpq, loads at the end at
the same time libldap-2.5 andl libldap_r-2.4 - two different versions.
This is not good.
When libldap( 2.5) is reentrant, and when libldap_r-2.4 is present,
libldap_r-2.4 shall not be used for linking.
Greetings
Дилян
On Wed, 2021-08-25 at 02:29 -0400, Tom Lane wrote:
> Dilyan Palauzov <Dilyan.Palauzov@aegee.org> writes:
> > The current postgres/configure.ac logic is: if libldap_r is
> > availabe,
> > then use it, otherwise use libldap.
>
> Right.
>
> > I propose, instead of looking for the presence of libldap_r, to
> > check
> > the feature macro, and if libldap is reentrant, not to use
> > libldap_r .
>
> Why? This seems more fragile (i.e., it adds an assumption that the
> visible header file matches the available libraries), and if there is
> a concrete benefit, you did not say what that is.
>
> regards, tom lane