I'm on Ubuntu 12.04 64 bits and I'm trying to get a game (GTA SA) working in wine, but it keeps crashing. After reading error logs it seems I needed some 32 bit versions of gstreamer, probably to play the intro video. I already have
ia32-libs, because I read somewhere I will need that in order to run 32 bit software. I first tried:
sudo apt-get install gstreamer0.10-ffmpeg:i386
gstreamer0.10-ffmpeg:i386 : Depends: libavcodec53:i386 (>= 4:0.7.3-1) but it is not going to be installed or libavcodec-extra-53:i386 (>= 4:0.7.3-1) but it is not going to be installed
And it also depends on libavformat, libpostproc and libswscale with about the same error. So I kept searching and found a nice tool, getlibs, which allows you to install 32 bit libraries. I think it just places them in the
/usr/lib32 directory, which probably isn't the best way to do this, but I tried it anyway.
So I installed the 32 bit libraries with getlibs which wine was complaining about. Now I got different errors, basically the 32 bit library is referencing other libraries which it now can't find. For example one of the errors says:
Failed to load plugin '/usr/lib32/gstreamer-0.10/libgstffmpeg.so': libavformat.so.53: cannot open shared object file: No such file or directory
So my initial thought was correct, since it now uses the 32 bit version. Now I was trying to figure it out with ldd to see where the library references other libraries:
# This one is fine ldd /usr/lib/gstreamer-0.10/libgstffmpeg.so | grep avformat libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f8314181000) # This one isn't ldd /usr/lib32/gstreamer-0.10/libgstffmpeg.so | grep avformat libavformat.so.53 => not found
So indeed, libgstffmpeg.so can't find the correct libavformat.so. I tried installing the 32 bit version of libavformat with getlibs again, which placed it in
/usr/lib32/i386-linux-gnu/libavformat.so. But ldd still tells me it can't find libavformat. Then I tried to make a symbolic link in the same directory but named it
libavformat.so.53 and even made a symlink to `/usr/lib/i386-linux-gnu/libavformat.so.53', but both give me the same error.
Now I am sure this really isn't the correct way to go, but I didn't know the right way to do it. So what is the correct way to do this, or does gstreamer0.10-ffmpeg simply doesn't have 32 bit or multilib support? And how can I find out what the directory is, where libgstffmpeg (or any library I guess) checks for it's 32 bit libs it is referencing?