加载共享库时出错(libGLU.so.1)

我正在尝试在64位AMD处理器的Ubuntu 12.10上运行Chamsys MagicQ。 当我尝试运行程序时,它告诉我以下信息。
./magicq: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory
这是MagicQ所需的库依赖列表。
austin@ubuntu:~/magicq$ ldd ./magicq linux-gate.so.1 => (0xf7799000) libGLU.so.1 => not found libusb-0.1.so.4 => not found libQt5PrintSupport.so.5 => not found libQt5OpenGL.so.5 => not found libQt5Widgets.so.5 => not found libQt5Network.so.5 => not found libQt5Gui.so.5 => not found libQt5Core.so.5 => not found libGL.so.1 => /usr/lib32/fglrx/libGL.so.1 (0xf7694000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf7679000) libstdc++.so.6 => not found libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf764d000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf762e000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7483000) libXext.so.6 => not found libatiuki.so.1 => /usr/lib32/fglrx/libatiuki.so.1 (0xf746c000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf7467000) /lib/ld-linux.so.2 (0xf779a000)

我知道libGLU.so.1在/usr/lib/x86_64-linux-gnu中作为一个"链接到共享库(application/x-sharedlib)"。链接目标是"libGLU.so.1.3.1"。 我该如何修复这个问题?

7个回答

实际上,我找不到libglu软件包本身。有所帮助的是:
sudo apt-get install libglu1-mesa:i386

Ubuntu 14.04 x64


2还在Ubuntu 17.04上工作过。干杯! - Raynal Gobel
1很高兴听到这个消息! - Daniel Kmak
2你是怎么在18.04上让它工作的?我的apt-get update后显示无法找到libglu1-mesa:i386包。 - Geordie
1对于18.04版本,以下方法适用:sudo apt-get install libglu1-mesa - j314erre

我只是需要安装这个,不需要任何32位或64位的参考。
sudo apt-get install libglu1

这在我使用的Ubuntu 17.10(64位)上有效。谢谢! - sunyata
这个方法也适用于在WSLg(Windows 10)中使用Sublime Text。谢谢! - Joshua Graham

我找到解决办法了。我需要安装32位版本。
对于其他可能遇到相同问题且运行64位操作系统的人来说,找到包含缺失文件的软件包,并使用以下命令:
sudo apt-get install package:i386
将"package"替换为软件包的名称。如果没有":i386",则只会安装64位版本。

如果有人正在使用Ubuntu 18.04阅读这篇文章,这是一种搜索要安装的软件包的方法。当我尝试在云计算实例上的新Ubuntu 18.04机器上运行Blender时,我遇到了这个错误。下面是错误信息,我尝试通过打印版本来检查Blender 2.82a是否正确安装:
user@init-blender-test:~/blender-2.82a-linux64$ ./blender --version
./blender: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory

为了找到要安装的软件包,我进行了一个apt-file搜索:
user@init-blender-test:~/blender-2.82a-linux64$ apt-file search libGL.so.1
libgl1: /usr/lib/x86_64-linux-gnu/libGL.so.1
libgl1: /usr/lib/x86_64-linux-gnu/libGL.so.1.0.0
nvidia-340: /usr/lib/i386-linux-gnu/libGL.so.1
nvidia-340: /usr/lib/x86_64-linux-gnu/libGL.so.1
primus-libs: /usr/lib/x86_64-linux-gnu/primus/libGL.so.1
virtualbox-guest-x11: /usr/lib/virtualbox/additions/libGL.so.1
virtualbox-guest-x11-hwe: /usr/lib/virtualbox/additions/libGL.so.1

请参阅此StackOverflow答案以获取更多详细信息。如果找不到apt-file,您可能需要使用sudo apt install apt-file进行安装。

因此,从上面的内容中,我看到可以使用sudo apt install libgl1,并且它修复了我的错误。请注意,有多个引用缺失文件的软件包(nvidia-340等),因此您必须根据情况自行判断和测试。


这个方法很有效,在我的情况下libgl1不起作用,它显示我需要执行sudo apt install libglu1-mesa - j314erre

我需要libGLU.so.1来玩一个游戏(The Fall),但是出现了以下错误:
error while loading shared libraries: libGLU.so.1: cannot open shared
object file: No such file or directory

在搜索之后,我找到了一个有人提到ia32-libs的错误页面,安装了它之后,我就可以正常运行了。
我找到的页面:

https://bugs.launchpad.net/linuxmint/+bug/891578

我运行的命令是:
sudo apt-get install ia32-libs

1这是解决旧版Ubuntu发行版的方法,ia32-lib现在已经被弃用了。之前评论中的Daniel对于新版发行版是正确的。至少作为对OP中第一个错误的回答来说是正确的。 - JohnRB

这会有所帮助。
sudo apt-get install libgl1-mesa-dri:i386 libglapi-mesa:i386  libglx-mesa0:i386  libglx0:i386  libgl1:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 

4为什么这会有帮助? - Pilot6

我之前也遇到过类似的问题,当我删除了一些文件后,使用这个命令成功地将它们恢复了。
sudo apt-get install libglew-dev libcheese7 libcheese-gtk23 libclutter-gst-2.0-0 libcogl15 libclutter-gtk-1.0-0 libclutter-1.0-0

希望它能起作用。