ハードコードされたディレクトリにライブラリを展開する

ハードコードされたディレクトリにライブラリを展開する

ライブラリのセットとそれに依存するアプリがいくつかあります。これらのライブラリ名の一部は、既にインストールされているライブラリと競合する可能性があります。

私にとって最も簡単な方法は

  • 固定パス「/usr/local/[my-firm]/lib」にライブラリをインストールします。
  • アプリをコンパイルするにはrpathこの道を指し示す
  • 私のアプリのインストーラーは、「/usr/local/[my-firm]/libversion」のようなものを見て、ライブラリがインストールされているかどうかを判断できます。

あなたはそれについてどう思いますか ?

ライブラリを固定パスにインストールすることは許容されますか?

編集

ライブラリとアプリを個別に出荷できるようにしたいと付け加えておきます。

答え1

インストールするライブラリがアプリケーションに固有のものであり、インストールされているシステム ライブラリと競合する可能性がある場合は、次のような構造を設定することをお勧めします。

/opt/<app>/<version>/lib

または

/opt/<app-libs>/<version>/lib

この方法により、他のものとは別に自由にデプロイすることができ、他のユーザーが必要とする可能性のあるものには影響を与えず、必要に応じてアプリケーションがそれらのパスを参照するように強制できます。

関連情報