On Friday 06 February 2004 04:33, Spider wrote:
> begin  quote
> On Thu, 5 Feb 2004 21:57:42 +0100
>
> Paul de Vrieze <[EMAIL PROTECTED]> wrote:
> > On Thursday 05 February 2004 21:34, Spider wrote:
> > > begin  quote
> > > On Thu, 5 Feb 2004 20:58:01 +0100
> > > Can you explain more? When would LIBVER be set? by whom? (developer?
> > > no thanks.. :P ) and woudn't there need to be one LIBVER per .so
> > > file that a package installs?
> >
> > In most cases we could probably derive it automatically from the
> > soname of a library, in special cases LIBVER would need to be set.
> > Basically the idea breaks through the one LIBVER per .so by needing a
> > developer to define a different LIBVER when an incompatible library
> > change is introduced in the package (in any file) (the contents of
> > LIBVER don't matter). In some cases this will be automatically
> > detected, in some cases not, in which the developer needs to fix this.
>
> I'm still not sure I actually understand how this would hang about.
> LIBVER would be created for the package at post-compile time, and would
> refer to its own contents... right?
>
> This could work, but in cases like :
> foolib.so.0 -> foolib.so.0.5.4
>
> Which is LIBVER?    0, or 0.5.4 ?   since if applications link to .so.0
> the binaries will break if LIBVER is 0.5.4 (due to dependencies)  but if
> it provides both, and a program links to the hard minor (0.5.4)  ,
> LIBVER would break if it was "0" ...

Actually what ends up in the elf file is the soname of the library. This 
soname should only change with incompatible changes, if not the lib is broken 
(but will also be at install time). The only assumption I make is that all 
libraries in the package change incompatably at the same time (that's where 
the override is needed). In LIBVER we would normally store the soname

> This falls on the fact that all packages don't necessarily link to the
> same LIBVER ,  some may link to .so.0, others may be pickier and link to
> `foolib.so.0.5.4`  ..  Not a pretty situation.

They all link the soname at the end, irrespective of what you put at the 
linker command line -ldb and -ldb-4.1 will have exactly the same result given 
that libdb.so links to libdb-4.1.so

>
> > > Any ideas?
> >
> > Don't have binary packages ;-)
>
> not very practical IMO.  computers aren't that fast, yet. (and with
> software like KDE, Mozilla, qt, OpenOffice.. May never be)

This is mainly a deficiency in g++ (or any c++ compiler) and C++'s dependency 
on header files. (Precompiled headers should give a big speedup)

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: [EMAIL PROTECTED]
Homepage: http://www.devrieze.net

Attachment: pgp00000.pgp
Description: signature

Reply via email to