最新バージョンのUbuntuでコンパイルされたアプリケーションを以前のバージョンのUbuntuでどのように実行できますか?

最新バージョンのUbuntuでコンパイルされたアプリケーションを以前のバージョンのUbuntuでどのように実行できますか?

Qt、Boost、および他の多くのライブラリとそのバージョンに付属のバージョンに依存するUbuntu 16.04でコンパイルされたアプリケーションがあります。ただし、Ubuntu 12.04を実行しているWebサーバーでこのアプリケーションを実行する必要がありますが、rootアクセス権はありません。

アプリケーションを実行しようとすると、ライブラリのバージョンが異なるか存在しないと文句を言います。

この問題を解決するために、lddによって報告された各ライブラリをフォルダにコピーし、そのフォルダを指すLD_LIBRARY_PATHを使用してアプリケーションを実行してみましたが、アプリケーションは分割エラー信号を受け取りました。

以前のバージョンのライブラリにはない機能を使用しているため、Ubuntu 12.04ではアプリケーションをコンパイルできません。また、古いシステムに新しいライブラリを構築する予定はありません。

私の質問は:最新バージョンのUbuntuでコンパイルされたアプリケーションを以前のバージョンのUbuntuでどのように実行しますか?

ベストアンサー1

最も簡単な解決策は何ですか?

Ubuntu 12サーバーを構築し、アプリケーションを実行するために必要なUbuntu 12サーバーをコピーし、そのサーバーでバージョンをコンパイルします。

なぜなら、あなたはすべてを扱うことができないからです。みんな共有オブジェクトは正確ですが、カーネルインタフェースは異なる場合があります。

おすすめ記事