為什麼 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,但可能還有其他支援庫/程式也不相容...您提到的那個是唯一被標記的。

一般來說,除非您具有基本相同類型的底層套件配置,否則在一個作業系統發行版上建立的二進位檔案不一定適用於另一個作業系統發行版。

相關內容