当我试图运行各种软件(特别是蒸汽和延卡)时,我遇到了一个类似于这样的错误:error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
我正在运行一个64位系统,带有一个NVidia擎天柱卡(对于某些只需要专用显卡的windows软件,我是双重引导)。我安装了大黄蜂,我使用的是NVidia当前的驱动程序,而不是从NVidia下载的驱动程序,正如推荐的那样。
库(libGL.so.1)不存在于/usr/lib的顶部目录中,但它作为到/usr/lib32/nvidia-current/libGL.so.304.64的软链接存在于/usr/lib32/nvidia-current中。
ldconfig -p输出的一部分:
libGL.so.1 (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/libGL.so
libGL.so (libc6,x86-64, OS ABI: Linux 2.4.20) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so显然,正在加载具有该名称的库,但它们位于/usr/lib/x86_64-linux-gnu中,但是安装的软件似乎无法“看到”它。对于蒸汽,运行它与optirun使它工作,但这不是Yenka的情况。我假设optirun会导致使用存储在/usr/lib32/nvidia-current中的库,这允许蒸汽运行,所以我无法理解为什么延卡不能运行。
有人能解释为什么软件不能看到正常的台面库,为什么延卡拒绝使用nvidia当前的库?
发布于 2013-07-20 20:10:17
安装了nvidia驱动程序后,skype正在寻找由nvidia包提供的i386库。因为这是不存在的,所以可以使用mesa提供的i386 libGL.so.1。
在(ubuntu-gnome raring,使用nvidia-325)和(ubuntu-gnome the,使用nvidia-319)上进行了测试,我们能够通过以下方法修复这个问题:
update-alternatives --display i386-linux-gnu_gl_conf这将向您展示可用的选项。
i386-linux-gnu_gl_conf - auto mode
link currently points to /usr/lib/nvidia-325/alt_ld.so.conf
/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-325/alt_ld.so.conf - priority 8602
Current 'best' version is '/usr/lib/nvidia-325/alt_ld.so.conf'因此,做以下几点:
sudo update-alternatives --config i386-linux-gnu_gl_conf然后选择最佳的替代方案(我选择了i 386-linux-gnu/mesa/ld.so.conf):在下面的输出中,有两种选择用于替代i 386-linux-gnu_gl_conf (providing /etc/ld.so.conf/i 386-linux-gnu_gL.conf)。
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/nvidia-325/alt_ld.so.conf 8602 auto mode
1 /usr/lib/i386-linux-gnu/mesa/ld.so.conf 500 manual mode
2 /usr/lib/nvidia-325/alt_ld.so.conf 8602 manual mode
Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/lib/i386-linux-gnu/mesa/ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in manual mode完成该操作后,尝试运行:
sudo ldconfig然后你就完了。
发布于 2013-03-21 04:17:43
安装skype ...so后,我遇到了同样的问题,您可以做任何一件事来修复此错误。
第一种方法是运行应用程序,方法如下命令...for示例,我正在运行skype。
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skypeS O U R、中、英
我所做的一切
sudo nano /etc/ld.so.conf.d/skype.conf并在其中添加以下一行
/usr/lib/i386-linux-gnu/mesa/储蓄与退出
最后跑
sudo ldconfig -v我希望这能修正你的libGL.so.1错误,就像我的错误一样
find / -name libGL.so.1发布于 2014-04-27 12:41:23
这里的修正会奏效,但还有一个更简单的方法。
如果skype不工作,但optirun skype确实工作,那么您可以用以下方法修复它:
sudo apt-get install bumblebee-nvidia --reinstall(使用带有AMD卡的大黄蜂的人可能需要进行同等的重新安装)。
大黄蜂导致并修复了这个问题,但是当它使集成卡和功能更强大的卡可以使用libGL库时,它所应用的修复就会发生。如果这些库在您安装Bumblebee时还没有安装,那么这种情况就不会发生,因此需要重新安装。它也不应该影响你的大黄蜂的配置,虽然它显然值得检查后,你已经这样做了。
https://askubuntu.com/questions/257897
复制相似问题