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

Re: libpkg-guide updated (versioned symbols), please proofread

* Steve Langasek (vorlon@debian.org) wrote:
> On Tue, Jun 01, 2004 at 04:52:35PM -0400, Stephen Frost wrote:
> > -dev packages should *NOT* depend on other -dev packages unless their
> > public .h files #include files from those other -dev packages (which
> > generally shouldn't be the case).  That whole crap was due to the lack
> > of understanding of the problem and blindness to the proper solution
> > (versioned symbols).  The result is that it just makes things FTBFS and
> > doesn't actually fix the problem anyway.  Not exactly useful.
> The reason for dependencies between -dev packages was libtool's failure
> to accomodate glibc's transitive dependency support, which is a separate
> issue than versioned symbols (though both contribute to the overall 
> problem).

Hmmm, my understanding was that it was a foolish attempt to make it
impossible to compile a binary which depended on multiple versions
(through other libraries) of a library.  Of course, this doesn't
actually work in practice because libraries change after the binary has
been compiled.  In fact, double-checking, this is, in fact, what the
'Debian Library Packaging Guide' (I swear I'm gonna choke and die on
that sometime soon) purports to do under Chapter 6. -DEV package
dependencies.  At least, I assume that is what's meant by:

" This will ensure that only the -dev packages compatible with the
libraries linked with the library will be installed, and such
conflicting relations can be expressed in the -dev packages. Lacking
such depends will cause problems like binaries being linked to libpng2
and libpng3 at the same time."

If I'm misunderstanding that, please let me know. :)

> > As I recall, libdb doesn't actually use versioned symbols anymore but
> > instead uses a hack because versioned symbols aren't supported on all
> > architectures.
> Debian's db packages still use versioned symbols.

Oh, that's actually kind of nice then, though I could have sworn it
*used* to use versioned symbols but in later versions (like db3 or db4)
didn't.  <Shrug> :)


Attachment: signature.asc
Description: Digital signature

Reply to: