Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am on Ubuntu 12.04 (64b) and bought Machinarium a while ago. I played with no problems for some days and wanted to play again today. However, when I tried to play, I got this error:

./Machinarium: error while loading shared libraries: libgtk-x11-2.0.so.0: cannot open shared object file: No such file or directory

How can I solve it?

share|improve this question

2 Answers 2

up vote 2 down vote accepted

It's a 32-bit binary and requires the 32-bit version of libgtk. Make sure that the package libgtk2.0-0:i386 is installed.

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

Update:

Though you'll need other libraries as well and if that library is missing, the other 32-bit libraries are probably missing as well, thus

sudo apt-get install ia32-libs

ia32-libs depend on a lot of 32-bit libraries which gets installed when you install it.

share|improve this answer
    
Installed that. Now I get this one: ./Machinarium: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory –  Cmorales Jun 30 '12 at 10:52
1  
@Cmorales ia32-libs appears to depend on a lot of 32-bit libraries. Likely it installs all the necessary libraries to run Machinarium, so try sudo apt-get install ia32-libs –  geirha Jun 30 '12 at 10:56
    
It worked! Thanks! PS: Wow, 150MB to make it work... and it worked before without that!? –  Cmorales Jun 30 '12 at 11:11
1  
@Cmorales most likely you had those libraries installed earlier, but they got uninstalled at some point (one possible scenario is that you uninstalled some 32-bit app, and apt thought "Oh, there doesn't seem to be any 32-bit apps installed any more, might as well remove the 32-bit libraries as well then"). Machinarium doesn't have a deb-package as far as I know, so apt doesn't know about it. –  geirha Jun 30 '12 at 11:33

ia32-libs is obsolote in the latest Ubuntu versions. To fix Machinarium, install the missing 32 bit libraries this way:

sudo apt-get install libnss3.s:i386 libcurl3:i386 libgtk2.0-0:i386
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.