Executando um executável de 32 bits

2

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.

    
por mkkl 31.01.2012 / 00:26

1 resposta

1

Isso me ajuda:

sudo apt-get install --reinstall libc6-i386
sudo apt-get install libgl1-mesa-glx:i386 lsb-core

Fonte: link

    
por Postadelmaga 28.02.2012 / 23:31