Freitag, 29. Juli 2011

First aid for HIB #3 on Debian Testing 64

I got my HIB #3.

And I got some problems on my Debian Testing 64Bit Linux-box.




I got 2 missing libs.
./launcher: error while loading shared libraries: libmikmod.so.2: wrong ELF class: ELFCLASS64
./launcher: error while loading shared libraries: libsmpeg-0.4.so.0: wrong ELF class: ELFCLASS64
Because both weren't in the packagemanager I traveled and got me those two for i386:
libmikmod2_3.1.11-a-6.3_i386.deb

libsmpeg0_0.4.5+cvs20030824-2.2_i386.deb

Extract both deb files and extract the data files you find inside. Inside that you find usr/lib and those files:
libmikmod.so.2.0.4 and libmikmod.so.2
libsmpeg-0.4.so.0.1.4 and libsmpeg-0.4.so.0
Put them into the lib32 folder in your CrayonPhysicsDeluxe folder.
Have fun playing!

It kind of runs. I saw a picture and heard sound. But then there was just the black  screen with sound and lots of errors on the command line (something like that: http://paste.kde.org/103381/)
The solution is rather simple: (found here http://forum.lazy8studios.com/index.php?topic=475.msg837#msg837)

This is a fix for the bug where Cogs launches with the following output:

Shader compile log for data/effects/TextureBumpCubemap.fsh:
Fragment shader failed to compile with the following errors:
ERROR: 0:41: error(#132) Syntax error: 'smooth' parse error
ERROR: error(#273) 1 compilation errors.  No code generated


Apparently the word "smooth" is reserved, but only on ATI cards in Linux.  The fix is to modify the following file.

~/games/cogs/data/effects/TextureBumpCubemap.fsh

Just do a global replace of the word "smooth" with "Smooth".

A huge thanks to Renee Marie Jones, who figured this one out :)

Rob
Founder, Lazy 8 Studios
(Strange thing: Cogs runs still after quitting. Need to kill -9 it ...)
It was one of the two games which worked out of the boxed. To get it running was not a problem.

This one did also make no problem. 
The only one with deb-rpm-tar.gz packages for 32bit and 64bit.
The deb and tar.gz 64 didn't work here.
That's what comes up:

I grabbed the 32bit tar.gz, extracted, try to run but there were errors:
./lib/AndYetItMoves: error while loading shared libraries: libtheora.so.0: wrong ELF class: ELFCLASS64

./lib/AndYetItMoves: error while loading shared libraries: libSDL_image-1.2.so.0: wrong ELF class: ELFCLASS64

Go again to the right place and download the needed libraries for i386:

libtheora0_1.1.1+dfsg.1-3_i386.deb
libsdl-image1.2_1.2.10-2.1_i386.deb

Extracting them and there data gives again a usr/lib dir with some files:
libtheora.so.0.3.10 and libtheora.so.0
libSDL_image-1.2.so.0.8.2 and libSDL_image-1.2.so.0

which we put into the AndYetItMoves lib folder.
Now it's just one step ahead:
You need to modify the AndYetItMoves script file. Open it with a text-editor and put that line:
export LD_LIBRARY_PATH=lib/
 between
###  webs
and
ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
so it looks like this: 
Save it and you are good to go.


Hope this helps if you had those problems too.


Have fun playing these games!