私は、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 ディストリビューションで動作するとは限りません。