[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: