[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Another solution (was Re: All services that require a restart from libc6 upgrade...)



On Tue, Oct 17, 2000 at 08:08:48PM -0400, Steve Robbins wrote:
> On Tue, 17 Oct 2000, Erik Steffl wrote:
> 
> > Ben Collins wrote:
> > > 
> > > >
> > > > I don't understand this.  Isn't the point of versioning so that you can
> > > > request the library with the proper ABI?  If you leave the old libnss_*
> > > > files on disk, why doesn't the running daemon --- with the old libc mapped
> > > > --- cause the old NSS modules to be loaded?
> > > >
> > > 
> > > Because modules are loaded from disk, not memory.
> > 
> >   why they are not versioned on the disk then? all these problems would
> > dissapear... wouldn't they?
> > 
> >   each version of libc would know which version of nss modules to
> > load... isn't it obvious solution?
> 
> Right.  This is the question I was trying to ask.
> 
> 
> To amplify, suppose I have libc-2.1.3 installed, along with
> libnss_compat-2.1.3.so, etc.  If a daemon is started, and at some point
> makes a name service call, then some libnss_*-2.1.3 module is loaded.
> 
> Now if new libc and libnss_* files are loaded onto the disk, why would
> that change the behaviour of a running daemon?  Would it not load the same
> libnss_*-2.1.3 module as before?

It loads libnss_*.so.2 (* being "files" or "nis" or whatever). See the
problem now? It can't use the *-2.1.3.so, because not all NSS modules are
compiled with glibc, and even if they used that same convention, it would
be next to impossible for them to stay in sync.

-- 
 -----------=======-=-======-=========-----------=====------------=-=------
/  Ben Collins  --  ...on that fantastic voyage...  --  Debian GNU/Linux   \
`  bcollins@debian.org  --  bcollins@openldap.org  --  bcollins@linux.com  '
 `---=========------=======-------------=-=-----=-===-======-------=--=---'



Reply to: