在我上次apt-get dist upgrade
安装(安装了新版本的内核,但仅此而已)之后,我的 Skype(以前可以正常工作)现在显示:
skype: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS64
这意味着它可能正在查看该文件的某个 64 位版本。现在,我得到的是:
/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
和
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
还有:
$ cat /etc/ld.so.conf.d/skype.conf
/usr/lib/i386-linux-gnu/mesa/
那么,为什么 Skype 找不到正确的库?
我尝试明确预加载 Skype 似乎想要的版本,如这个问题, IE
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 sykpe
但这让我
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 - 我的系统是 Kubuntu 16.04,带有 CUDA 8 和 nVIDIA 驱动程序,不是通过发行版包安装的。