我有一个在Solaris上运行的可执行文件。我试图在Ubuntu中运行相同的程序。当我用KSH或SH运行时,会抛出错误。您能否让我知道如何在Ubuntu上的Solaris中运行兼容的可执行文件。我面临的问题是我只有可执行文件,而没有可在Linux上重新编译代码的源代码。有没有一种方法可以运行为在Ubuntu上运行的Solaris编译的可执行文件
使用KSH运行时,出现此异常
cannot execute [Exec format error]
Sh抛出此错误
Syntax error: "(" unexpected
答案 0 :(得分:2)
在Linux上编译程序时,许多程序会使用第三方库。如果未安装这些库,或者另一台计算机上存在其他版本,则可执行文件将不会运行。您可能会缺少所谓的依赖项。有关here的更多信息。
程序可能使用不同的系统调用和库,而这些库可能无法在不同的派生工具上使用。
最重要的是,可执行文件针对特定处理器进行编译。如果您使用其他指令集,例如说32位而不是64位,或者说是ARM或AMD而不是Intel,它将/也可能不会运行。有关here的更多信息。
如果要使用同一体系结构为多个发行版进行编译,则可以使用linux标准库。 here的更多内容。
简而言之:您必须为系统重新编译/获取正确的版本,而不仅仅是复制可执行文件。