[HEADS UP]: OpenLDAP+nss_ldap+nss_modules separated patch and more (SoC)

Kostik Belousov kostikbel at gmail.com
Wed Aug 23 17:19:01 UTC 2006


On Wed, Aug 23, 2006 at 07:16:19PM +0200, Alexander Leidinger wrote:
> Quoting Kostik Belousov <kostikbel at gmail.com> (Wed, 23 Aug 2006 18:46:52 +0300):
> 
> > On Wed, Aug 23, 2006 at 05:23:16PM +0200, Alexander Leidinger wrote:
> > > Quoting Kostik Belousov <kostikbel at gmail.com> (from Wed, 23 Aug 2006  
> > > 13:36:04 +0300):
> > > 
> > > >On Wed, Aug 23, 2006 at 12:11:57PM +0200, Alexander Leidinger wrote:
> > > 
> > > >>An idea which wasn't suggested yet is to install a renamed version (I
> > > >>would suggest libbaseldap instead of libbsdldap or libldap_i, but I
> > > >>don't really care about the name) and a link from the original name
> > > >>(only the .so and .a, but not the .so.X) to the new name. This link
> > > >>can be protected with a WITHOUT_LIBLDAP_LINK switch (or the other way
> > > >>around... depending on what we want to achieve). This way it is
> > > >>possible to link with the renamed lib in the base system, to use the
> > > >>base system version of the lib in ports, and to use the lib from ports
> > > >>if desired (a recompile of ports may be needed in the last case, yes).
> > > >
> > > >This will not work. bsdxml is used inside the system binaries. No binary
> > > >links again expat and bsdxml simultaneously. Would such binary exists,
> > > >it could experience problems.
> > > >
> > > >On the other hand, application using openldap from the ports has high 
> > > >chance
> > > >loading nss_ldap (e.g., due to nsswitch.conf). If nss_ldap linked against
> > > >renamed library, this would cause the crash.
> > > 
> > > And this can't be solved with symbol versioning?
> > 
> > Probably not. Default openldap build produces unversioned libraries.
> > Application linked against such library would happily resolve symbols
> > from the versioned lib.
> 
> Why? In which case does this make sense? Is this an implementation
> detail or the spec?
If you have old system with unversioned library and built app on that box,
you could still want to run app on new shiny system that supports versioning.

This is the case with glibc 2.0 (no version info) and glibc 2.1 (where GNU
versioning, i.e. version attached to symbols was introduced).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20060823/b0745caf/attachment.pgp


More information about the freebsd-current mailing list