Salve,
Ainda sobre "rodar executáveis de 32 bit (linux) em máquinas de 64 (linux)...
./ep2-linux: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory
A extensão .so é usada para shared object or dynamically linked library.
http://en.wikipedia.org/wiki/Shared_object#Shared_libraries
Esses arquivos contém bibliotecas que são carregas em quando o programa está sendo executado
"Modules used by a program are loaded from individual shared objects into memory at load time or run time.."
O utilitário ldd do linux exibe as bibliotecas necessárias pelo programa:
meu_prompt> man ldd
NAME
ldd - print shared library dependencies
SYNOPSIS
ldd [OPTION]... FILE...
DESCRIPTION
ldd prints the shared libraries required by each program or shared library specified on the command line.
[. . .]
No caso do executável ep2-linux (32 bits) temos que
meu_prompt> ldd ep2-linux
linux-gate.so.1 => (0xf7701000)
libGL.so.1 => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 (0xf768c000)
libGLU.so.1 => not found
libglut.so.3 => not found
libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf74d8000)
libglapi.so.0 => /usr/lib/i386-linux-gnu/libglapi.so.0 (0xf74c1000)
libXext.so.6 => /usr/lib/i386-linux-gnu/libXext.so.6 (0xf74af000)
libXdamage.so.1 => /usr/lib/i386-linux-gnu/libXdamage.so.1 (0xf74ab000)
libXfixes.so.3 => /usr/lib/i386-linux-gnu/libXfixes.so.3 (0xf74a3000)
libX11-xcb.so.1 => /usr/lib/i386-linux-gnu/libX11-xcb.so.1 (0xf74a0000)
libX11.so.6 => /usr/lib/i386-linux-gnu/libX11.so.6 (0xf7369000)
libxcb-glx.so.0 => /usr/lib/i386-linux-gnu/libxcb-glx.so.0 (0xf7351000)
libxcb-dri2.so.0 => /usr/lib/i386-linux-gnu/libxcb-dri2.so.0 (0xf734c000)
libxcb.so.1 => /usr/lib/i386-linux-gnu/libxcb.so.1 (0xf7329000)
libXxf86vm.so.1 => /usr/lib/i386-linux-gnu/libXxf86vm.so.1 (0xf7323000)
libdrm.so.2 => /usr/lib/i386-linux-gnu/libdrm.so.2 (0xf7316000)
libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf72fb000)
libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf72f6000)
/lib/ld-linux.so.2 (0xf7702000)
libXau.so.6 => /usr/lib/i386-linux-gnu/libXau.so.6 (0xf72f1000)
libXdmcp.so.6 => /usr/lib/i386-linux-gnu/libXdmcp.so.6 (0xf72ea000)
Assim, estão faltando duas biblitecas executarmos o ep2-linux (32 bits) em uma máquina linux Ubuntu 64 bits.
Copiado do fórum de MAC0122 do ano passado:
Para contornar o problema, basta instalar as bibliotecas de tempo de execução para
arquitetura i386. No caso do Debian (e derivados), o pacote se chama "ia32-libs".
(Carlos Eduardo Elmadjian)