为什么 RedHat 5.x 编译的 Ruby 二进制文件无法在 Fedora 17 上运行?

为什么 RedHat 5.x 编译的 Ruby 二进制文件无法在 Fedora 17 上运行?

我已经在 RedHat Enterprise Linux 5 系统上编译了 Ruby 2.0.0p247 二进制文件。当我require 'net/https'在同一系统上时,一切都正常。

二进制文件已安装在通用应用程序存储库中,但是,当我尝试从 Fedora Core 17 系统执行相同命令时,Ruby 失败并显示以下错误消息:

LoadError: libssl.so.6: cannot open shared object file: No such file or directory - /apps/ruby/2.0.0/lib/ruby/2.0.0/x86_64-linux/openssl.so

当我ls进入它抱怨的目录时,文件就在那里(并且它在 RedHat 系统上正确加载)。RedHat 编译的二进制文件与 Fedora 不兼容吗?除了将 Ruby 安装到特定于 Fedora 系统的单独位置外,还有其他解决方案吗?

答案1

很明显,由于软件包版本不兼容,RHEL 5.x(您没有指定具体版本)编译的二进制文件无法在 Fedora 17 上运行......尽管特别是 libssl,但可能还有其他支持库/程序也会不兼容...您提到的那个是唯一被标记的。

一般来说,除非您具有基本相同类型的底层包配置,否则在一个操作系统发行版上创建的二进制文件不一定能在另一个操作系统发行版上运行。

相关内容