![未找到文件,但文件存在](https://linux22.com/image/1431322/%E6%9C%AA%E6%89%BE%E5%88%B0%E6%96%87%E4%BB%B6%EF%BC%8C%E4%BD%86%E6%96%87%E4%BB%B6%E5%AD%98%E5%9C%A8.png)
运行 Ubuntu 14.04 x64,我喜欢执行二进制文件。这个:
$ ls -la /opt/android-sdk-linux/tools/emulator
-rwxrwxr-x 1 tho tho 35640 Nov 19 14:46 /opt/android-sdk-linux/tools/emulator
如果我以用户身份运行可执行文件,则会出现以下file not found
错误:
$ /opt/android-sdk-linux/tools/emulator
bash: /opt/android-sdk-linux/tools/emulator: no such file or directory
我尝试了以下命令:
$ 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
没有任何错误地返回。
ldd emulator
说这个程序是不是动态链接
$ 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 +++
造成该错误的原因是什么?
答案1
您运行的是 64 位 Linux,但 Android SDK 工具是 32 位的。同时,您的系统上没有安装 32 位兼容库。
因此你只需要安装这些:
sudo apt-get install ia32-libs