NGinxをコンパイルするには、openssl
とopenssl-dev
をインストールする必要があります(私は book ガイド)。
だから私はこれをやっています:
Sudo apt-get install openssl openssl-dev
しかし、openssl-dev
が見つからないというエラーメッセージが表示されます。また、いくつかグーグルした後、libssl-dev
はopenssl-dev
と等しいようですが、それは本当ですか? (サーバーでapt-get
が見つかりましたlibssl-dev
)
これが私のサーバーバージョンです:2.6.32-22-server
どんな助けでも歓迎します!
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自体はそうではありません。
何らかの理由で異なるバージョンを必要とするのではなく、異なるビルドオプションが必要なために独自のコピーをコンパイルする場合、上流のソースを直接使用するよりも、リポジトリのソースからパッケージをコンパイルする方がよい場合があることに注意してください。 このSO質問 は、クイック検索から得られた最初の便利なページですが、必要に応じて詳細なチュートリアルを簡単に見つけることができます。
その他の注意点:apt-get build-dep
の結果としてインストールされたパッケージは、手動でインストールした場合と同様に、手動でインストールされたものとしてマークされます。つまり、それらを一度にすべて削除することはできません(apt-get unintall-dep
やそれに類するものはありません)。ただし、ライブラリ/ヘッダーの手動インストールから得られる状況と何ら変わりはありません(事実についてのみ触れます)一部の人々はbuild-dep
操作を元に戻すためのワンステップの方法があることを期待し、そうではありません)。
はい、そうです。 libssl-dev
2018年9月にここに来ました。Ubuntu18.04でも同じ問題が発生します。
解決済み:
Sudo apt install libssl1.0-dev