[pkg-nvidia-devel] nvidia-glx shlibs issues

Andreas Beckmann debian at abeckmann.de
Mon Jun 28 00:53:19 UTC 2010


Russ Allbery wrote:
> Andreas Beckmann <debian at abeckmann.de> writes:
>> But if libGL.so is not that interesting any more, what about dropping
>> its diversion and the trigger and the related mess?  If you want to
>> build OpenGL programs install libgl1-mesa-dev. libGL.so will point to
>> libGL.so.1 (which is from nvidia, but this should not matter).

OK, correcting myself: ... should not matter for portable applications.

> This is the problem: I think this does matter.  If the MESA libGL ever
> includes any symbols that aren't in the NVIDIA library, which doesn't seem

There are already a lot *MESA symbols (like a lot of *NV symbols in the
NVIDIA variant), but these are (usually) not used by (portable)
applications.

> that horribly unlikely, linking would then fail because libGL.so would
> point to the wrong library.  Since we have a solution to keeping the *.so
> file up-to-date, I think we should leave it just in case.

Yes, you are right. Better catch these corner cases early, otherwise we
could get subtle errors later.
And we avoid anyone accidently packaging something that uses Nvidia
extensions (even if it's difficult because these headers are not used by
default) because it was linked with Nvidia's libGL.so.1 but won't run
with libgl1-mesa-glx (that's more likely, but probably can't be detected
by dpkg-shlibdeps). On the other hand packaging something that uses MESA
extensions while libgl1-nvidia-glx is installed will fail ... well, use
either Build-Conflicts and Conflicts: nvidia-whatever
or Build-Depends: shoot-yourself-in-the-foot.

And if someone *really* wants to package something that needs
libgl1-nvidia-glx (and not libgl1-mesa-glx), I think he could do so by
having a shlibs.local file to override our careful redirection.


Andreas



More information about the Pkg-nvidia-devel mailing list