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

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

私のディストリビューションのパッケージリポジトリには、必要な tmux パッケージの最新バージョンがありません。Webtar.gzサイトから最新バージョンの形式をダウンロードしました。しかし、これを実行しようとすると./configure、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 しかない場合は、ソースから libevent (42.1 より大きいバージョン) をビルドする必要もあります。

推奨事項: ソースからビルドしたものすべてを にインストールします/usr/local(PREFIXを実行する前に設定する./configureか、このパッケージが異なる方法で実行する場合はドキュメントを読んでください)。 こうすることで、自分でビルドしたものとパッケージ マネージャーがインストールしたものが衝突しなくなります。 私もstowこれを に使用して、複数のバージョンを保持できるようにしています。

それらも時代遅れになる可能性はあるか

もちろん、「可能性はあります」。それを確認する唯一の方法は、パッケージ マネージャーにアクセスして確認することです。また、アップストリームに存在する場合は、パッケージ マネージャーに新しいリリースを指示する良い機会になるかもしれません。

関連情報