Redhat
為什麼 RedHat 5.x 編譯的 Ruby 二進製文件不能在 Fedora 17 上執行?
我在 RedHat Enterprise Linux 5 系統上編譯了 Ruby 2.0.0p247-binaries。當我
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 系統的單獨位置之外,還有其他解決方案嗎?
由於軟體包版本不兼容,RHEL 5.x(您沒有指定具體版本)編譯的二進製文件在 Fedora 17 上似乎很明顯……雖然特別是 libssl,但可能還有其他支持的庫/程序也會不兼容…你提到的那個是唯一一個被標記的。
通常,除非您具有基本相同類型的底層包配置,否則在一個 OS 發行版上創建的二進製文件不一定適用於另一個 OS 發行版。