【问题标题】:Executable on solaris in ubuntu可在 ubuntu 的 solaris 上执行
【发布时间】:2019-03-28 07:15:07
【问题描述】:

我有一个在 Solaris 上运行的可执行文件。我正在尝试在 Ubuntu 中运行相同的程序。当我使用 KSH 或 SH 运行时,它会抛出错误。您能否让我知道如何在 Ubuntu 上运行兼容 Solaris 的可执行文件。我面临的问题是我只有可执行文件,没有在 Linux 上重新编译代码的源代码。有没有办法在 Ubuntu 上运行为 Solaris 编译的可执行文件

我在使用 KSH 运行时遇到此异常

cannot execute [Exec format error]

Sh 抛出此错误

Syntax error: "(" unexpected

【问题讨论】:

  • 请提供更多信息。什么可执行文件,你得到什么错误?

标签: ubuntu solaris


【解决方案1】:

当您在 linux 上编译程序时,很多程序都使用第三方库。如果未安装这些库,或者另一台机器上有不同的版本,则可执行文件将无法运行。您很可能在调用时缺少 依赖项。更多关于 here.
一个程序可能使用不同的系统调用和库,这些系统调用和库可能在不同的衍生产品上不可用。
最重要的是,针对特定处理器编译可执行文件。如果您使用不同的指令集,例如 32 位而不是 64 位或 ARM 或 AMD 而不是 Intel,它将/可能也不会运行。更多关于此here.
如果您想使用相同的架构为多个发行版进行编译,您可以使用 linux 标准库。更多关于 here.

简而言之:您必须为您的系统重新编译/获取正确的版本,而不仅仅是复制可执行文件。

【讨论】:

    猜你喜欢
    • 2011-10-20
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2017-02-07
    • 2015-07-15
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多