不同 Solaris 版本之间的应用程序兼容性

不同 Solaris 版本之间的应用程序兼容性

有人能回答以下问题吗?

  1. 是否可以合理地预期支持 Solaris Sparc 的应用程序可以在 Solaris x86 上运行?
  2. 是否可以合理地预期支持 Solaris 10 的应用程序可以在 OpenSolaris 上运行?

  3. (这是最重要的一点)是否可以合理地预期支持 Solaris Sparc 的应用程序可以在 OpenSolaris x86 上运行?


背景信息:

我正在 x86 开发机上设置一些新的虚拟机,并查看了将要使用的应用程序的系统要求。系统要求表明该应用程序支持 Sparc 上的 Solaris 10。

它也支持多种版本的 Linux,所以我有一个后备方案,但这似乎是一个亲身体验 Solaris(特别是 OpenSolaris)的机会。

我知道我将得不到支持,但就我目前所做的事情而言,这不是什么大问题。

此外,我知道我的里程可能会有所不同,但我关心的是它是否值得尝试。

答案1

如果它是为 SPARC 编译的二进制应用程序,它将无法在 x86 上运行。据我所知,OpenSolaris 和 Solaris 10 是跨架构的源代码兼容的,因此如果您有源代码,那么为 x86 构建它应该不会有任何问题。

答案2

1. 支持 Solaris Sparc 的应用程序是否可以在 Solaris x86 上运行?

如果是平台无关格式(perl/python/shell/etc 中的脚本或 Java 应用程序),则很有可能。如果是编译代码,并且您有源代码并且可以针对 x86 指令集进行重新编译,则很有可能。总会有例外和极端情况,但 Solaris 的设计是跨平台源代码兼容。不过 Solaris 不包括任何类型的 ISA 二进制转换/模拟层,用于编译二进制文件。(Transitive 制作了 Apple 用于 x86 上 PowerPC ISA 模拟的 Rosetta 软件,它确实销售过一段时间的 Solaris SPARC 到 x86 转换器,但后来 IBM 收购了它们。)

2. 支持 Solaris 10 的应用程序是否可以合理地预期在 OpenSolaris 上运行?

除非它使用已声明过时并被删除的接口/库,或者已声明为未提交/不稳定且恰好改变不兼容性的接口/库,否则是的。OpenSolaris 旨在与 Solaris 10 和以前的 Solaris 版本二进制兼容。

3.(这是最重要的一点)支持 Solaris Sparc 的应用程序是否可以合理地预期在 OpenSolaris x86 上运行?

这基本上回到了问题 1:它是什么类型的应用程序以及是否需要重新编译它。

相关内容