A few Commands to help make programs work.

Important commands for getting games to work: (and other programs)

ldd program name – print shared library dependencies

example :

travis@1[bcs]$ ldd bcs
linux-gate.so.1 => (0xffffe000)
libcrypto.so.2 => /usr/lib/libcrypto.so.2 (0xb7dc4000)
libssl.so.2 => /usr/lib/libssl.so.2 (0xb7d87000)
libm.so.6 => /lib/tls/libm.so.6 (0xb7d51000)
libGL.so.1 => /usr/lib/libGL.so.1 (0xb7cbd000)
libopenal.so.0 => /usr/lib/libopenal.so.0 (0xb7c7d000)
libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0xb7bef000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7bde000)
libX11.so.6 => /usr/lib/libX11.so.6 (0xb7af8000)
libXext.so.6 => /usr/lib/libXext.so.6 (0xb7aea000)
libdl.so.2 => /lib/tls/libdl.so.2 (0xb7ae7000)
libc.so.6 => /lib/tls/libc.so.6 (0xb79b8000)
libz.so.1 => /usr/lib/libz.so.1 (0xb79a4000)
/lib/ld-linux.so.2 (0xb7f00000)
libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0xb7032000)
libnvidia-tls.so.1 => /usr/lib/tls/libnvidia-tls.so.1 (0xb702f000)
libasound.so.2 => /usr/lib/libasound.so.2 (0xb6f71000)
libartsc.so.0 => /usr/lib/libartsc.so.0 (0xb6f6b000)
libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0xb6f68000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb6f64000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb6ee0000)
libesd.so.0 => /usr/lib/libesd.so.0 (0xb6ed7000)
libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0xb6eb7000)
libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb6ea3000)
libXt.so.6 => /usr/lib/libXt.so.6 (0xb6e55000)
libaa.so.1 => /usr/lib/libaa.so.1 (0xb6e3b000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb6e38000)
libSM.so.6 => /usr/lib/libSM.so.6 (0xb6e2f000)
libICE.so.6 => /usr/lib/libICE.so.6 (0xb6e17000)
libncurses.so.5 => /usr/lib/libncurses.so.5 (0xb6dd6000)
libslang.so.2 => /lib/libslang.so.2 (0xb6d1b000)
libgpm.so.1 => /usr/lib/libgpm.so.1 (0xb6d15000)

ln (LN)- make links between files

example :

ln -s /usr/lib/libssl.so.0.9.8 /usr/lib/libssl.so.2

in this example, we use the switch -s which means it is a symbolic link.

This is often used when a newer version of the library is installed, but the program will not detect it because it is a different name, we therefore create a dynamic link from ours, to what the program is looking for. Does not always work, but offers a possible solution for some older games.