Ubuntu 64 битный Machinarium: ошибка при загрузке общих библиотек: libgtk-x11-2.0.so.0 [закрыто]

31

Я только что скачал финальную бета-версию Ubuntu 13.10 64 бит, и все программы, которые я использую, работают безупречно, за исключением "Machinarium", очень крутой флеш игры В игре нет пакета .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)
Fonz
источник
Пожалуйста, отредактируйте свой вопрос и укажите, что происходит, когда вы пытаетесь запустить игру. Пожалуйста, опубликуйте полное сообщение об ошибке, если оно есть.
MadMike
fz @ Unknown: ~ / Games / Machinarium $ '/ home / fz / Games / Machinarium / Machinarium' / home / fz / Games / Machinarium / Machinarium: ошибка при загрузке общих библиотек: libgtk-x11-2.0.so.0: невозможно открыть общий объектный файл: нет такого файла или каталога
Fonz
Вы должны просто сделать так, sudo apt-get install packagename:i386чтобы отсутствующие библиотеки получали 32-битные версии (AFAIK) (хотя это не гарантирует, что соответствующие версии библиотек по-прежнему доступны).
хронит
Пакет ia32-libs: i386 недоступен, но упоминается другим пакетом. Это может означать, что пакет отсутствует, был устаревшим или доступен только из другого источника. Однако следующие пакеты заменяют его: lib32z1 lib32ncurses5 lib32bz2-1.0
Fonz
1
«Ubuntu 13.10 final beta 64 bit», вы пробовали использовать стабильную версию?
Брайам

Ответы:

70

очевидно, вам нужно установить пакет libgtk2.0-0: i386.

sudo apt-get install libgtk2.0-0:i386
AdamOutler
источник
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
Обновить. Игра не работает 18.04. Пакет librtmp0:i386не может быть установлен. Игра выдает эту ошибку:error while loading shared libraries: libXt.so.6: cannot open shared object file: No such file or directory
Мина Майкл
9

Есть 2 варианта запуска Machinarium на Ubuntu 13.10 64bit .

Деб Пакет

Если у нас есть пакет .deb (и да! Это 32-битный пакет ).

Вы должны установить его с Ubuntu Software Center ( не используя 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 как игру без Steam, вы должны установить и эту последнюю библиотеку.

sudo apt-get install libxtst6:i386
Nothor
источник
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) - файлы внутри папки выглядят одинаково (используются fileи md5sumкоманды для проверки).

Вот список зависимостей от установленного пакета: 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.

Nigini
источник