On Mon, 27 Mar 2000, Stephen J Baker wrote:
> > If I can insert another thread at this point, I'm curious about the
> > requirement that libGL.so be in /usr/lib. Would someone be willing to
> > summarize the reasoning behind this? I wasn't on the list when this was
> > decided.
>
> That's where it is on every other non-Windoze machine on the planet.
That was my guess. Perhaps I misunderstood the objection of the oglbase,
since it used to be called and ABI, and this has to do with filesystem
standards. My apologies.
> > (a) where a libary lives isn't a binary-compatibility issue, since it
> > should be in the ld.so path anyway. So this is just about Makefile
> > convenience.
>
> The operative phrase here is "should be".
>
> Trust me, if it CAN be in more than one place - then it WILL be in
> more than one place and you'll get 1e6 emails of the form "I'm *CERTAIN*
> I installed the right OpenGL for my SquonkMaster 3000 card - but I still
> get no hardware accelleration".
I wouldn't say 10%, but certainly we've gotten our share of these
questions with utah-glx. I suppose I'm reactionary enough to think
that users should learn how the library search path works, but I'm aware
that's a minority opinion. :)
> We certainly have to pick just one place - and /usr/lib/ is close to
> a standard. The Mesa 'README' files have been telling people to
> install a symlink *forever* and Mesa now install there by default
> - other UNIXen have established that as *the* place. Most Linux
> distro's are now putting it there (*finally*).
I guess my memory is short here. I've only been using Linux (and
exclusively Debian) for about two years now. It always put Mesa in
/usr/lib, and we've always put the utah libGL and friends in /usr/X11R6 in
our deb and rpm packages. I was mostly just following Mesa 3.1's lead
there, and hadn't realized they'd reverted.
> > (b) the draft specification says "The X-specific library direction
> > (/usr/lib/X11) was also considered, but existing practice on Linux and
> > other platforms indicates that /usr/lib is preferable."
>
> Exactly.
>
> > I looked around at
> > the few systems I have access to, and saw this was indeed the case under
> > IRIX, but Utah-GLX has always gone into /usr/X11R6, and that makes more
> > sense to me for accelerated drivers that are part of the X server. What
> > does Xfree 4.0 currently do?
>
> There is a growing (and IMHO intensely annoying) trend to put everything
> that either runs under, over or through X11 into the X11 hierarchy - and
> it's pretty silly. We don't require everything that links to the math
> library to be under /usr/math or some such - why should X11 be any different?
>
> ALso, it's perfectly possible to have an OpenGL that doesn't use X (although
> it would have a hard time meeting our ABI). There have been Mesa's that use
> libSVGA for example. If there is a canonical place for OpenGL, there is no
> special reason to fixate on just one of the things it happens to link to.
There's a distiction here, in that the utah-glx and DRI libGL.so
specifically calls into the X server, and is intended to be distributed as
part of it. On linux the X libs are traditionally in /usr/X11R6/lib/ and
so it made sense to me to put libGL there.
> > I'm not asking that this be changed, now that the review period is over,
> > but I'd like to understand the reasoning behind it. I agree e.g. software
> > Mesa has traditionally been in /usr/lib...
>
> ...and also OpenGL under IRIX, Solaris, BSD and others.
>
> > ..., but for X-integrated drivers,
> > /usr/X11*/lib makes more sense to me, and it's really no more effort to
> > support that option, since you have to link with the X libs there anyway.
> > I suppose it's not "no" effort, since I've had to hack numerous configure
> > scripts that assume Mesa in /usr/lib or /usr/local/lib, but I hope you see
> > what I mean.
>
> Right. We want to avoid hacking more configure scripts by defining a SINGLE
> place - so you always look in just one place and always find it.
Thanks for the summary. I was thinking in terms of binary compatibility,
for which I think we just disagree, but as far as a filesystem standard
goes, it makes sense to standardize on a single location for a single
library, and if we mean that to be software && non-X versions of libGL as
well, it ought to be /usr/lib/
BTW, does the oglbase have an opinion on where we should stick our
accelerated device drivers? glx.so still goes in /usr/X11R6/lib/modules/?
Cheers,
-ralph
--
[EMAIL PROTECTED]
utah-glx.sourceforge.net