ビルド依存関係と使用依存関係を区別する方法は?

ビルド依存関係と使用依存関係を区別する方法は?

パッケージの一部の依存関係はコンパイル時にのみ必要ですが、他の依存関係は実際の使用に必要です。たとえば、私はコンパイルするだけで、依存関係も(また)使用されることnet-misc/unisonがわかりました。しかし、実際に違いをどうやって知ることができますか?dev-lang/ocamlsys-libs/glibc

ベストアンサー1

ルート図はい何か特別な... ;-)

これはソースによって異なります。プログラムのソースコードの一部を処理/生成するために特別なツール(awk、sed、flex...)が必要な場合、それらをコンパイル/ビルドするにはそのツールが必要です...しかし、一度プログラムがビルドされたら - 今すぐ。いくつかの実行可能ファイルがあります。このツールは、このプログラムを使用するためには必要ありません。

一部が珍しい言語で書かれたプログラムの場合も同様です。プログラムの一部がOcaml、Ada、またはPascalで書かれている場合は、その言語に適したコンパイラをインストールする必要があります。共有ライブラリは、オブジェクトファイルにコンパイルされ、完成した実行可能ファイルにリンクされた後にのみ必要です。静的ライブラリを使用して構築しない限り、ライブラリは必要ありません。

文書の一部にも追加のツールとプログラムをインストールする必要がある場合があります。たとえば、LaTeXで書かれているので、LaTeXを使って書く必要があるコンテンツがあります。結局のところ、簡単なマニュアルページでも使用されているマークアップ言語を説明するにはTROFFが必要です。

Gentoo以外のディストリビューション(すべてを直接ビルドする必要がないディストリビューション)の場合、パッケージは事前にビルドされているため、ビルドプロセス中に必要なツールについて心配する必要はありません。

おすすめ記事