例で問題を説明しましょう。たとえばxfigやpdfeditのように、日々の仕事で古いプログラムを使用しています。
現在、これらのプログラムは非常に古く、あまり頻繁に更新されません。私の恐怖は、いつか何らかのライブラリや互換性のないアップデートがないために、もう機能しないことです。
プログラムをコンパイルすることは容易であれば、今、実行しているシステムでは、溶液は便利です:ビットにソースをハックして生成される実行可能ファイルが大きいので、効率的ではないだろうが、それがために動作します---静的にコンパイルしよう近い将来(1)。これが当てはまるようxfig
で、できるだけ早く試してみます。
しかし、たとえば、pdfedit
Qt3 に依存しており、現時点ではコンパイルするシステムのセットアップは非常に複雑です。幸いなことに、必要なライブラリが何かと競合しないという事実のおかげで、今すぐ実行できます。しかし、これは将来変更される可能性があるため、この問題を解決したいと思います。
Ubuntuに動的なライブラリとすべてのライブラリがあり、ソースコードはない場合、どうすれば静的なバイナリ(または同様のもの)を作成できますか?
周りを検索しました。1つの可能性はstatifier(2)ですが、アドレスのランダム化には多くの問題があります。非フリー版のErmineは動作するようですが、私は本当にオープンソースのオプションを好むでしょう。
別の可能性は、ドッカーまたは同様のパッケージングシステムを使用することです。しかし、私が見つけたチュートリアルはすべてRedHat指向です。そして、正直なところ、従うのは非常に複雑です。
脚注:
(1)それほどクレイジーではありません。たとえば、静的ffmpegを使用しますが、互換性の問題はなく、正常に動作します...
(2)コンパイルするstatifier
には、https: //stackoverflow.com/questions/23498237/compile-program-for-32bit-on-64bit-linux-os-causes-fatal-error を参照してください