首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加载libGL.so.1错误

加载libGL.so.1错误
EN

Ask Ubuntu用户
提问于 2013-02-18 19:52:19
回答 8查看 108.8K关注 0票数 50

当我试图运行各种软件(特别是蒸汽和延卡)时,我遇到了一个类似于这样的错误: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输出的一部分:

代码语言:javascript
复制
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当前的库?

EN

回答 8

Ask Ubuntu用户

回答已采纳

发布于 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)上进行了测试,我们能够通过以下方法修复这个问题:

代码语言:javascript
复制
update-alternatives --display i386-linux-gnu_gl_conf

这将向您展示可用的选项。

代码语言:javascript
复制
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'

因此,做以下几点:

代码语言:javascript
复制
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)。

代码语言:javascript
复制
  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

完成该操作后,尝试运行:

代码语言:javascript
复制
sudo ldconfig

然后你就完了。

票数 39
EN

Ask Ubuntu用户

发布于 2013-03-21 04:17:43

安装skype ...so后,我遇到了同样的问题,您可以做任何一件事来修复此错误。

第一种方法是运行应用程序,方法如下命令...for示例,我正在运行skype。

代码语言:javascript
复制
LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1 skype

S O U R、中、英

我所做的一切

代码语言:javascript
复制
sudo nano /etc/ld.so.conf.d/skype.conf

并在其中添加以下一行

代码语言:javascript
复制
/usr/lib/i386-linux-gnu/mesa/

储蓄与退出

最后跑

代码语言:javascript
复制
sudo ldconfig -v

我希望这能修正你的libGL.so.1错误,就像我的错误一样

你也可以找到libGL.so.1

代码语言:javascript
复制
   find / -name libGL.so.1
票数 52
EN

Ask Ubuntu用户

发布于 2014-04-27 12:41:23

这里的修正会奏效,但还有一个更简单的方法。

如果skype不工作,但optirun skype确实工作,那么您可以用以下方法修复它:

代码语言:javascript
复制
sudo apt-get install bumblebee-nvidia --reinstall

(使用带有AMD卡的大黄蜂的人可能需要进行同等的重新安装)。

大黄蜂导致并修复了这个问题,但是当它使集成卡和功能更强大的卡可以使用libGL库时,它所应用的修复就会发生。如果这些库在您安装Bumblebee时还没有安装,那么这种情况就不会发生,因此需要重新安装。它也不应该影响你的大黄蜂的配置,虽然它显然值得检查后,你已经这样做了。

票数 12
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/257897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档