无法执行二进制文件(OSX 和 Raspbian)

无法执行二进制文件(OSX 和 Raspbian)

我尝试执行一个文件,但总是出现cannot execute binary file错误

myfile Permission: 777

运行文件 myfile

myfile: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped

我如何在 mac 或 raspbian 上运行此文件或者我缺少什么库?

答案1

你不能。

该文件是为 Linux 环境编译的,这一点从句子 中可以看出来for GNU/LINUX 2.6.18,原因是它使用了共享库。这排除了 Mac,因为尽管确实有运行在 Intel 80386 芯片上的 MAC 机型,但没有一个使用 Linux 共享库。

另一方面,虽然您可能在 Raspberry Pi 上安装了 Linux 发行版(Debian 或 Arch,或...),但cpu architecture编译此文件的版本是Intel 80386,它与ARM适合 Raspberry Pi CPU 的架构有很大不同。

您必须搜索已移植到不同环境的此程序版本。 Pi 的 repos 提供的正是这种功能,即一组典型的 Linux 程序,但经过重新编译以在 ARM 架构上运行。对于 Mac,操作系统不同,您可能最终会搜索执行相同任务的不同程序。

相关内容