Probelemas ao executar ep2-linux

Re: Probelemas ao executar ep2-linux

por José Coelho de Pina -
Número de respostas: 0

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)