On Mon, 14 Feb 2000, Brett Johnson wrote:

> Date: Mon, 14 Feb 2000 11:30:37 -0700
> From: Brett Johnson <[EMAIL PROTECTED]>
> Reply-To: [EMAIL PROTECTED]
> To: [EMAIL PROTECTED]
> Subject: [oglbase-discuss] Library dependencies
> 
> ABI Draft:
> > 3.8. libGL and libGLU must be transitively linked with any libraries
> > they require in their own internal implementation, so that applications
> > don't fail on some implementations due to not pulling in libraries
> > needed not by the app, but by the implementation. 

        Yes!

> 
> I think this section should be changed.  Requiring libraries to resolve
> their own internal dependencies is a start, and certainly should be
> required.  But this isn't sufficient, in that it ignores the larger
> issue of compatibility between libraries when an app doesn't explicitly
> resolve it's own dependencies.
> 

        As I understand it, this requirement (3.8) is fine.  A vendor's
libGL/libGLU *should* trasitively link in those libraries it requires.  It
shouldn't worry about anything else.

> For example, if an app compiles against the Mesa libs, it doesn't
> need to (and likely won't) explicitly link itself against libICE.so,
> even if the app depends on libICE.so entrypoints.  As long as the
> app links against Mesa, it's libICE dependencies will be resolved
> through Mesa's transitive link.
> 

        Then I would submit that the app is broken.  If the app requires
libICE, it should explicitly link it in, and *not* require libGL to just
suck in everything an app could concievably need...

> Unfortunately though, this means that this app cannot run against
> any other libGL.so, unless the all other libGL's also provide this
> same link.  So, all libraries must provide exactly the same set of
> transitive links, if we are to achieve actual binary compatibility
> between them.
> 

        The implementation of GL/GLU should only concern itself with the
libraries it actually *needs*.  It's up the the app to ensure it links
against what it needs, not GL...  If your app required gtk, should GL
concern itself with linking in those as well?  Where would it stop?  I
think we should leave 3.8 as it is IMHO. ;-)

[...]


-- 
Jon Trulson    work: mailto:[EMAIL PROTECTED], home: mailto:[EMAIL PROTECTED]
Xi Graphics, Inc.  http://www.xig.com
ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
PGP keys at http://radscan.com/PGPKeys.txt
#include <stddisclaimer.h>
You talk like a Ferengi.

Reply via email to