Bug#773303: libgl1-mesa-dev: Symlink error for libGL.so
On Wed, 17 Dec 2014 at 14:52:33 +0800, Shan Ting wrote:
> sudo stat /usr/lib/x86_64-linux-gnu/libGL.so
> File: ‘/usr/lib/x86_64-linux-gnu/libGL.so’ -> ‘libGL.so.1.2.0’
OK so far...
> sudo stat /usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
> stat: cannot stat ‘/usr/lib/x86_64-linux-gnu/libGL.so.1.2.0’: No such file or directory
... but that seems wrong for the packages you have installed. You said
you have:
> Package: libgl1-mesa-dev
> Version: 10.3.2-1
> ...
> ii libgl1-mesa-glx 10.3.2-1
but those same packages on the same (amd64) architecture do provide
libGL.so.1.2.0:
% dpkg -s libgl1-mesa-dev
...
Version: 10.3.2-1
Depends: ..., libgl1-mesa-glx (= 10.3.2-1), ...
...
% dpkg -L libgl1-mesa-glx:amd64
...
/usr/lib/x86_64-linux-gnu/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/libGL.so.1
> I’m not using lx-alternative-fglrx, glx-alternative-nvidia or
> glx-diversions. The libGL.so.10.1.1.28614 is come from my graphic card
> driver(parallels).
Then I think this is a bug in your graphics card driver: it is overwriting
and deleting files owned by the packaging system, but not finishing the job
by taking responsibility for setting the target of the libGL.so symlink
(and not participating in glx-alternatives like the non-free drivers
packaged by Debian developers do, which would be the ideal thing).
> Is there some reasons to use libGL.so.1.2.0 directly rather than
> libGL.so.1?
That's how libraries' development symlinks normally work. For instance,
picking a random library for which I have development files
installed (Gtk 2):
% ls -l /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so
lrwxrwxrwx 1 root root 27 Oct 10 18:57 /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so -> libgtk-x11-2.0.so.0.2400.25
default|archetype% ls -l /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
lrwxrwxrwx 1 root root 27 Oct 10 18:57 /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.2400.25
% ls -l /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.25
-rw-r--r-- 1 root root 4501992 Oct 10 18:57 /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.25
The real file is the versioned one, and the development symlink and the
SONAME (runtime) symlink both point to it.
Regards,
S
Reply to: