nginx ./configureでopensslが見つかりません。

nginx ./configureでopensslが見つかりません。

nginxをインストールしようとしていますが、私が何をしても、nginxは私のopensslパスを見つけることができないようです。 opensslディレクトリに存在しないファイルを検索するようです。以下は私のmake出力です。 opensslを見つけるためにnginxにさまざまなパスを指定してみました。

[root@server nginx-0.8.54]# make
make -f objs/Makefile
make[1]: Entering directory `/root/nginx-0.8.54'
cd /usr/local/ssl \
        && make clean \
        && ./config --prefix=/usr/local/ssl/.openssl no-shared  no-threads \
        && make \
        && make install LIBDIR=lib
make[2]: Entering directory `/usr/local/ssl'
make[2]: *** No rule to make target `clean'.  Stop.
make[2]: Leaving directory `/usr/local/ssl'
make[1]: *** [/usr/local/ssl/.openssl/include/openssl/ssl.h] Error 2
make[1]: Leaving directory `/root/nginx-0.8.54'
make: *** [build] Error 2

誰でもこれについてどんな考えを持っていますか?

答え1

configureこれは、nginxが相対パスを使用するときにも発生します。/フルパスを使用すると、ライブラリをより確実に見つけることができます。

動作しません:./configure --with-openssl=../openssl-source

働く:./configure --with-openssl=/home/build/src/openssl-source

答え2

./configure —with-cc-opt="-I/usr/local/opt/openssl/include" --with-ld-opt="-L/usr/local/opt/openssl/lib"

答え3

「yum install openssl-devel」を実行すると、Ubuntuに切り替えるよりはるかに簡単に見えます。

OPと同じ問題があります。 opensslをインストールしましたが、nginxがコンパイルしたときに見つかりましたが、libssl-develへのポインタが役に立ちました。

答え4

nginxを介してビルドしmacOSopensslインストールしようとすると、brewライブラリopensslは次のパスにインストールされます/usr/local/opt/openssl。 ~からbrew info openssl

式はケグ専用です。これは/usr/localにシンボリックリンクされていないことを意味します。

AppleはOpenSSLを使用せず、代わりに独自のTLSと暗号化ライブラリを使用するためです。

openssl--with-cc-optこの場合、@ Bingnanが述べたように、次のように設定スクリプトにインクルードパスとlibパスを通知できます--with-ld-opt

./configure --with-cc-opt="-I/usr/local/opt/openssl/include" --with-ld-opt="-L/usr/local/opt/openssl/lib"

関連情報