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

Re: DB3 symbol collisions solved...

On Wed, Nov 15, 2000 at 09:38:46AM -0500, Ben Collins wrote:
> On Wed, Nov 15, 2000 at 08:19:05PM +1100, Herbert Xu wrote:
> > If I understood this correctly, this means that anything that's compiled
> > against libdb3-dev and (say) a libsasl7-dev that was linked against
> > libdb2-dev, will end up just using libdb2.  Is this really OK for all
> > programs, considering that the soname usually isn't changed unless the ABI
> > changes as well?
> Uh no, you are completely incorrect. If you compile against db3, you will
> be using db3. The symbols that were common between db2 and db3 are changed
> in the *runtime* db3 library, to avoid clashing with db2's symbols. So it
> will actually use those db3 symbols (thanks to some weak aliasing in the
> runtime lib).

Sorry but it's still unclear to me.  If I've linked with both libdb3-dev
and libsasl7-dev which was linked with libdb2-dev, then when I run it,
it'll load both libdb2 and libdb3.  Since the libdb3 symbols are weak,
it'll end up only using the ones from libdb2, for both the symbols required
by libsasl7 and my own program.  Right?

I just don't see how you can distinguish between the symbols needed by
libsasl7 and the symbols needed by the program itself.
Debian GNU/Linux 2.2 is out! ( http://www.debian.org/ )
Email:  Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Reply to: