
職場では、ベンダー提供のライブラリが C++ ヘッダーとファイルの形で提供されています.so
。当社の実稼働環境は長い間 CentOS 6 でしたが、まもなく CentOS 7 にアップグレードする予定です。ライブラリと、ライブラリを使用する C++ プログラムの両方に対して RPM ファイルが作成されています。
ベンダー ライブラリの依存関係は動的にリンクされることにも言及する必要があります。
CentOS 6 の新しいインスタンスへのインストールは 経由では問題なく動作しますyum
が、CentOS 7 では状況がかなり悪くなります。yum
は、python2.6 (つまり ) を例に挙げて、見つからない多くのパッケージについてエラーを出しますlibpython2.6.so
。 これらすべてのさまざまな欠落している依存関係の RPM は見つかりますが、多くの場合、ダウングレードを意味する場合に yum が「何もすることがない」と表示するため、いずれにしてもインストールできません。
私の質問は 2 つあると思います。Python の場合のように、yum
システム バージョンにならずに 経由で別のバージョンの Python をインストールして、リンカーがこの古いベンダー ライブラリを見つけることができるようにすることは可能ですか?
すべての.so
ファイルを手動で作成するのは、多くlibpng12
CentOS 7 には がありますが、などの依存関係が不足していますlibpng15
。
この場合、経験豊富なシステム管理者はどうするでしょうか? それとも、この古いプログラムを CentOS 7 で実行することは、単に逆効果になるだけなのでしょうか?