別のディストリビューションでコンパイルされたアプリケーションの実行

別のディストリビューションでコンパイルされたアプリケーションの実行

あるLinuxディストリビューションでアプリケーションをコンパイルし、別のLinuxディストリビューション(同じCPUアーキテクチャ)で使用できるかどうかを知りたいです。そうでなければ、どのような問題が発生しますか?私の心に浮かぶ唯一の問題は、ダイナミックリンクライブラリに関連しています。

  • 一部のライブラリまたはライブラリのバージョンがありません。たとえば、/usr/lib/qt5.so がありません。
  • ここでコンパイラフラグが問題になる可能性がありますか?

他の可能な困難はありますか?

答え1

はい、ほとんどの場合これを行うことができます。上記のライブラリの問題を除いて、私が予想できる唯一の問題はディストリビューションファイルの場所であり、アプリケーションに影響を与える問題は実際にはまれです。

答え2

静的にコンパイルすると、同じアーキテクチャを使用するすべてのディストリビューションでコンパイルされたアプリケーションを簡単に実行できます。

動的にコンパイルすると、前述のような問題(ライブラリの欠落)が発生したり、他のディストリビューションのライブラリバージョンと互換性がない場合がよくあります。

関連情報