Ubuntu 64位Machinarium:加载共享库时出错:libgtk-x11-2.0.so.0


31

我刚刚下载了64位Ubuntu 13.10最终beta版,除了“ Machinarium”这是一款非常酷的Flash游戏之外,我使用的每个程序都可以完美运行。该游戏没有.deb程序包,我以前曾经可以玩过。我尝试安装lib32和ia32,并说它已安装到最新版本,或者如果我尝试lib32-dev,它说该版本不再可用。这是我的ldd命令结果:

fz@Unknown:~/Games/Machinarium$ ldd Machinarium
    linux-gate.so.1 =>  (0xf77c8000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf76c0000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf76a5000)
    libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf756f000)
    libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf755c000)
    libXt.so.6 => /usr/lib/i386-linux-gnu/libXt.so.6 (0xf7500000)
    libfreetype.so.6 => /usr/lib/i386-linux-gnu/libfreetype.so.6 (0xf7461000)
    libfontconfig.so.1 => /usr/lib/i386-linux-gnu/libfontconfig.so.1 (0xf7427000)
    libgtk-x11-2.0.so.0 => not found
    libgdk-x11-2.0.so.0 => not found
    libatk-1.0.so.0 => not found
    libgdk_pixbuf-2.0.so.0 => not found
    libpangocairo-1.0.so.0 => not found
    libpango-1.0.so.0 => not found
    libcairo.so.2 => not found
    libgobject-2.0.so.0 => /usr/lib/i386-linux-gnu/libgobject-2.0.so.0 (0xf73d3000)
    libgmodule-2.0.so.0 => /usr/lib/i386-linux-gnu/libgmodule-2.0.so.0 (0xf73ce000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf73c9000)
    libglib-2.0.so.0 => /lib/i386-linux-gnu/libglib-2.0.so.0 (0xf72c4000)
    libnss3.so => not found
    libsmime3.so => not found
    libssl3.so => not found
    libplds4.so => not found
    libplc4.so => not found
    libnspr4.so => not found
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7280000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf7263000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf70b0000)
    libXrender.so.1 => /usr/lib/i386-linux-gnu/libXrender.so.1 (0xf70a4000)
    /lib/ld-linux.so.2 (0xf77c9000)
    libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7083000)
    libSM.so.6 => /usr/lib/i386-linux-gnu/libSM.so.6 (0xf707a000)
    libICE.so.6 => /usr/lib/i386-linux-gnu/libICE.so.6 (0xf7060000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf7046000)
    libexpat.so.1 => /lib/i386-linux-gnu/libexpat.so.1 (0xf701c000)
    libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf7015000)
    libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xf6fd4000)
    libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf6fd0000)
    libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf6fc9000)
    libuuid.so.1 => /lib/i386-linux-gnu/libuuid.so.1 (0xf6fc2000)

请编辑您的问题,并说明尝试运行游戏时会发生什么。如果有,请张贴完整的错误消息。
MadMike

fz @未知:〜/ Games / Machinarium $'/ home / fz / Games / Machinarium / Machinarium'/ home / fz / Games / Machinarium / Machinarium:加载共享库时出错:libgtk-x11-2.0.so.0:无法打开共享的对象文件:没有这样的文件或目录
Fonz 2013年

您应该能够sudo apt-get install packagename:i386使缺少的库获得32位版本(AFAIK)(尽管这不能保证仍可以使用合适的库版本)。
慢性病

软件包ia32-libs:i386不可用,但由另一个软件包引用。这可能意味着该软件包丢失,已废弃或只能从其他来源获得。但是,以下软件包将其替换:lib32z1 lib32ncurses5 lib32bz2-1.0
Fonz

1
“ Ubuntu 13.10最终Beta 64位”,您是否尝试过使用稳定器?
Braiam 2014年

Answers:


70

显然,您必须安装libgtk2.0-0:i386软件包。

sudo apt-get install libgtk2.0-0:i386

2
那不是唯一需要的软件包。@Nothor列出了所有需要的软件包,该游戏对我有用。sudo apt-get install libgtk2.0-0:i386 libnss3:i386 libcurl3-gnutls:i386 libidn11:i386 libpango1.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 librtmp0:i386 libxft2:i386
米娜·迈克尔

@MinaMichael这些其他库将由依赖机制自动添加到安装列表中。
m3nda'2

更新。游戏无法在18.04上运行。该软件包librtmp0:i386无法安装。游戏给出了这个错误:error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
米娜·迈克尔

9

有两种方法可以在Ubuntu 13.10 64位上运行Machinarium

Deb包

如果我们有.deb软件包(是的!这是一个32位的软件包)。

您必须使用Ubuntu软件中心(而不是 dpkg -i)安装它,因此只需双击该文件即可。

删除游戏

sudo dpkg -r machinarium 

TAR.GZ版本

如果您有tar.gz版本。

您需要安装所有这些库。

sudo apt-get install libgtk2.0-0:i386 libnss3:i386 libcurl3-gnutls:i386 libidn11:i386 libpango1.0-0:i386 libpangox-1.0-0:i386 libpangoxft-1.0-0:i386 librtmp0:i386 libxft2:i386

在STEAM上运行

在两种情况下,如果您都想将STEAM作为NO Steam游戏运行,则必须同时安装最后一个库。

sudo apt-get install libxtst6:i386

0

我在这里有同样的问题。这不是完全解决方案,但是我将尝试添加一些信息。

我尝试了@AdamOutler解决方案,但是在安装libgtk2.0-0:i386另一个依赖项之后,我解决了安装libnss3:i386和的问题gtk2-engines-murrine:i386。问题在于下一步需要一个名为的程序包unity-gtk2-module:i386,具体取决于unity-gtk-module-common:i386哪个程序包不再存在。

我放弃了这种方法,发现可以直接从软件中心安装游戏(因为我是从Humble Bundle购买的)。它就像一个魅力!疯狂的部分是,安装(.TGZ与.DEB)之间没有明显的区别-文件夹中的文件看起来是相同的(已使用filemd5sum要检查的命令)。

这是已安装的软件包中的依赖项列表: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.12.0), libgtk2.0-0 (>= 2.24.0), libnspr4 (>= 1.8.0.10), libnss3 (>= 3.12.0~1.9b1), libpango1.0-0 (>= 1.14.0), libstdc++6 (>= 4.1.1), libx11-6, libxext6, libxrender1, libxt6, libcurl3-gnutls

最后一件事是,我建议尝试为该游戏创建一个启动器,因为从bash开始游戏仍然没有成功。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.