📅 2015-Sep-15 ⬩ ✍️ Ashwin Nanjappa ⬩ 🏷️ error, opengl, shared library, skype ⬩ 📚 Archive
I installed Skype from here using the package for Ubuntu 12.04 Multiarch. When I ran Skype from the Dash, nothing happened. When I ran Skype from the shell, I found that it quit with this error:
$ skype
skype: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
$ ldd /usr/bin/skype | grep libGL
libGL.so.1 => not found
libGL.so.1 => not found
So yes, the shared library file is not found.
libGL.so.1
was available in the shared library cache:$ ldconfig -p | grep libGL.so.1
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
So, a 64-bit shared library of the required name was present in the cache!
$ file /usr/bin/skype
/usr/bin/skype: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped
This was a 32-bit executable. Might it require a 32-bit shared library and could this be causing the problem?
/etc/ld.so.conf.d/i386-linux-gnu_GL.conf
. This in turn can be easily switched between libraries provided by different providers using update-alternatives
:$ sudo update-alternatives --config i386-linux-gnu_gl_conf
I found that currently the GL library files provided by /usr/lib/nvidia-352/alt_ld.so.conf
, that is, by my NVIDIA drivers was being used. I picked the /usr/lib/i386-linux-gnu/mesa/ld.so.conf
which is by MESA. This only sets the symbolic link for the /etc/ld.so.conf.d/i386-linux-gnu_GL.conf
from the NVIDIA conf file to the MESA conf file.
$ sudo ldconfig
$ ldconfig -p | grep libGL.so.1
libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
We can see that we now have an additional entry, which has no architecture specified, but it is for 32-bit by default.
$ ldd /usr/bin/skype | grep libGL
libGL.so.1 => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 (0xf16b5000)
Yes, they are! I ran Skype after this and it worked fine! 😄
Tried with: Skype 4.3 (multiarch) and Ubuntu 14.04