Ubuntuのリリース(または他のDebian派生のアレンジメント)にあるパッケージのバージョンの依存関係が、ビルドしようとしているバージョンの依存度と同じである可能性があるapt-get build-dep nginx
場合、実行するか、aptitude build-dep nginx
インストールしないnginxパッケージですが、代わりにlibssl-dev
(現在探しているパッケージ)を含む依存関係(および通常どおりその依存関係)としてリストされているすべてをインストールします。
ほとんどの場合、これにより、他の(おそらく新しい)バージョンのビルドが正常に完了し、各ライブラリとそのヘッダーファイルを1つずつインストールする手間が省けます。ビルドしようとしている他のバージョンに新しい依存関係がある場合でもbuild-dep <package>
、追加の新しい依存関係を手動でインストールするだけでよいため、開始するのに適した場所です。
例として、私のサーバーの1つでの結果は次のとおりです。
user@host:~$ sudo aptitude build-dep nginx
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initialising package states... Done
The following NEW packages will be installed:
autotools-dev cvs{a} debhelper gettext{a} html2text{a} intltool-debian{a}
libcroco3{a} libmail-sendmail-perl{a} libpcre3-dev libpcrecpp0{a}
libssl-dev libsys-hostname-long-perl{a} po-debconf{a} zlib1g-dev
0 packages upgraded, 14 newly installed, 0 to remove and 19 not upgraded.
Need to get 7,217kB of archives. After unpacking 22.9MB will be used.
Do you want to continue? [Y/n/?]
一部のライブラリとヘッダーをインストールして、nginxビルドを有効にしますが、nginx自体は有効にしません。
注意すべきことの1つは、何らかの理由で異なるバージョンを必要とするのではなく、異なるビルドオプションが必要なために独自のコピーをコンパイルする場合は、上流のソースを直接使用するよりも、パッケージのリポジトリのソースからコンパイルする方がよい場合があることです。このSOの質問は、クイック検索から出た最初の有用なページですが、必要な場合はより詳細なチュートリアルを簡単に見つけることができます。
その他の小さな注意事項:結果としてインストールされるパッケージapt-get build-dep
は、現在実行しているように手動でインストールしたかのように、手動でインストールされたものとしてマークされます。つまり、一度にすべてを削除することはできません(ないapt-get unintall-dep
か類似しています)-とにかく手動のライブラリ/ヘッダーのインストールから得られる状況と違いはありません(一部の人々がそこに期待するように事実に言及するだけです)build-dep
操作を元に戻すためのワンステップの方法であり、ありません)。