Isso me ajuda:
sudo apt-get install --reinstall libc6-i386
sudo apt-get install libgl1-mesa-glx:i386 lsb-core
Fonte: link
Estou tentando executar um executável de 32 bits em meu oneric de 64 bits. Aqui uma breve visão geral da situação. Mas eu tenho que preceder ia32 libs estão instalados:
> aptitude search ia32
i ia32-libs - ia32 shared libraries for use on amd64 and ia64 syste
Primeiro, testei o tipo de arquivo:
> file tipp10
tipp10: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.4, not stripped
Estou usando o oneric de 64 bits, com o kernel não tão recente, porque ainda não reiniciei.
> uname -a
Linux christchurch 3.0.0-14-generic #23-Ubuntu SMP Mon Nov 21 20:28:43 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Como eu disse, a execução normal não funciona. Aborta com arquivo ou diretório não encontrado.
> strace ./tipp10
execve("./tipp10", ["./tipp10"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
dup(2) = 3
fcntl(3, F_GETFL) = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
[...]
Aqui a saída do ldd no meu sistema. No meu servidor Debian de 64bits, o programm é reconhecido como um programa dinâmico vinculado e algumas referências de lib são produzidas. Mas no meu Ubuntu:
> ldd tipp10
\tdas Programm ist nicht dynamisch gelinkt
# german for: "The programm is not linked dynamic"
Alguém pode me ajudar por favor. Eu não entendo o que está acontecendo.
Isso me ajuda:
sudo apt-get install --reinstall libc6-i386
sudo apt-get install libgl1-mesa-glx:i386 lsb-core
Fonte: link