依存関係を満たすためにどのパッケージをインストールするかを理解することは、正確な科学ではありません。ただし、役立つヒントがいくつかあります。
- 何かをコンパイルするために満足のいく依存関係で作業しているとき、ほとんどの場合、
-dev
で終わるパッケージが必要です。 .これは開発の略です。たとえば、openssl
パッケージには、暗号化を操作するためのコマンド ライン ツールとライブラリが含まれています。libssl-dev
openssl 開発用のヘッダー ファイルとライブラリが含まれています。 - apt を使用してキーワードでパッケージを検索するには、
apt-cache search
を使用します .たとえば、libssl-dev が openssl dev パッケージの名前であることを実際には知りませんでした。このコマンドを使用することがわかりました:apt-cache search openssl | grep dev
次に、別の言語/ライブラリに関連していないように見えるものを使用します。 dpkg -l
を使用して、インストールしたパッケージを確認できます 、しかし、一般的には、必要なパッケージを見つけて、それをインストールするように apt に指示するだけです。すでにある場合は、apt が指示します。もう 1 つの良いヒントは、ファイルを所有しているパッケージを知りたい場合は、dpkg -S /path/to/thefile
を使用することです。- ソースからパッケージをビルドする必要が生じた場合、依存関係ツリーを解決する簡単な方法はありません。
./configure
またはREADMEファイルを教えてください。多くの場合、必要なパッケージを正確に指定することさえあります。 - 何をリンクするかを判断する場合、通常、それはパッケージの名前または目的の最も一般的な名前に関連しています。 libssl の例では、
-lssl
を渡すだけです。 gccに。-l
のオプションがわからない場合 /lib/ を見てください (gcc に渡される「中間」を取得するには、前から「lib」を、後ろから「.so...」を削除するだけです)。
誰も言及していません
aptitude build-dep
man ページのエントリはかなり包括的です。