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 ですが、他のサポート ライブラリ/プログラムも互換性がない可能性があります...フラグが付けられているのは、あなたが言及したものだけです。

一般に、基本的に同じタイプの基盤となるパッケージ構成がない限り、ある OS ディストリビューションで作成されたバイナリは、必ずしも別の OS ディストリビューションで動作するとは限りません。

関連情報