After my last apt-get dist upgrade
(which installed a new version of the kernel, but not much beyond that), my Skype (which used to work) now says:
skype: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64
meaning it's probably looking at some 64-bit version of that file. Now, here's what I have:
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/nvidia-367/libGL.so.1
/usr/lib/nvidia-367/libGL.so.1.0.0
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib32/nvidia-367/libGL.so.1
/usr/lib32/nvidia-367/libGL.so.1.0.0
with
update-alternatives --display i386-linux-gnu_gl_conf
i386-linux-gnu_gl_conf - manual mode
link best version is /usr/lib/nvidia-367/alt_ld.so.conf
link currently points to /usr/lib/i386-linux-gnu/mesa/ld.so.conf
link i386-linux-gnu_gl_conf is /etc/ld.so.conf.d/i386-linux-gnu_GL.conf
slave i386-linux-gnu_xorg_extra_modules is /usr/lib/i386-linux-gnu/xorg/extra-modules
/usr/lib/i386-linux-gnu/mesa/ld.so.conf - priority 500
slave i386-linux-gnu_xorg_extra_modules: /usr/lib/i386-linux-gnu/xorg/x11-extra-modules
/usr/lib/nvidia-367-prime/alt_ld.so.conf - priority 8603
/usr/lib/nvidia-367/alt_ld.so.conf - priority 8604
and there's also:
$ cat /etc/ld.so.conf.d/skype.conf
/usr/lib/i386-linux-gnu/mesa/
So, why is Skype not finding the right library?
I tried explicitly preloading the version Skype seems to want, as suggested in this question, i.e.
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 sykpe
but that gives me
ERROR: ld.so: object '/usr/lib/i386-linux-gnu/mesa/libGL.so.1' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
PS - My system is Kubuntu 16.04 with CUDA 8 and nVIDIA drivers installed not through distro packages.