arquivo não encontrado, mas o arquivo está lá

2

rodando um Ubuntu 14.04 x64, eu gosto de executar um arquivo binário. Este aqui:

$ ls -la /opt/android-sdk-linux/tools/emulator
-rwxrwxr-x 1 tho tho 35640 Nov 19 14:46 /opt/android-sdk-linux/tools/emulator

Se eu executar o executável como usuário tho, ocorrerá o seguinte erro file not found :

$ /opt/android-sdk-linux/tools/emulator
bash: /opt/android-sdk-linux/tools/emulator:  no such file or directory

Eu tentei os seguintes comandos:

$ file /opt/android-sdk-linux/tools/emulator
/opt/android-sdk-linux/tools/emulator: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

readelf -l emulator retornou sem erros.

ldd emulator diz que esse programa não é não vinculado dinamicamente

$ strace  /opt/android-sdk-linux/tools/emulator
execve("/opt/android-sdk-linux/tools/emulator", ["/opt/android-sdk-linux/tools/emu"...], [/* 64 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
exit_group(1)                           = ?
+++ exited with 1 +++

Qual poderia ser o motivo desse erro?

    
por The Bndr 20.11.2014 / 10:22

1 resposta

2

Você está executando o Linux de 64 bits, mas as ferramentas do Android SDK são de 32 bits. Ao mesmo tempo, você não tem as bibliotecas de compatibilidade de 32 bits instaladas em seu sistema.

Então, você só precisa instalá-los:

sudo apt-get install ia32-libs
    
por 20.11.2014 / 10:30