ソースから別のプロジェクトをビルドするときは、すべての依存関係をソースからビルドする必要がありますか?

ソースから別のプロジェクトをビルドするときは、すべての依存関係をソースからビルドする必要がありますか?

私のディストリビューションのパッケージリポジトリに私が望むtmuxパッケージの現在のバージョンはありません。tar.gzウェブサイトから最新バージョンのフォーマットをダウンロードしました。ただし、./configureこれを試みると、構成は追加の依存関係が必要であることを示すメッセージを表示します。私の質問は、ソースからこれらの依存関係を手動でビルドするのが最善の方法ですか?配布パッケージマネージャを使用してこれらの依存関係をダウンロードすることは可能ですか?彼らも同じです。もはや廃止され、tmuxが現在要求しているよりも古い依存関係を持ちますか?

この特別なケースでは、Ubuntu 18.04.4 LTSで3.0aをビルドしようとしていますが、tmux存在しないパッケージがありますlibevent

答え1

libevent バージョン 42.1 が必要だとします。

パッケージマネージャにlibeventバージョン42.5がある場合は、引き続きインストールしてください。ソースからビルドする必要はありません。 libeventを使用してソフトウェアをビルドするには、対応する開発パッケージ(.debベースのディストリビューションにはlibevent-dev、RPMベースのディストリビューションにはlibevent-devel)をインストールする必要があります。

パッケージマネージャにlibeventバージョン40.3のみがある場合は、ソース(42.1より高いバージョン)からlibeventもビルドする必要があります。

推奨事項:ソースからビルドするすべての項目をインストールします/usr/localPREFIXこれを実行する前に設定する./configureか、このパッケージが異なる場合はマニュアルをお読みください)。これにより、直接ビルドしたものとパッケージマネージャがインストールしたものとの間に競合が発生しなくなります。私もstowこれを使用していくつかのバージョンを維持することができます。

それらも役に立たなくなる可能性はありますか?

もちろん「機会はある」。調べる唯一の方法は、パッケージマネージャを調べることです。最新バージョンがアップストリームに存在する場合、これはパッケージ管理者に最新バージョンを知らせる良い機会かもしれません。

関連情報