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"을 실행하는 것은 우분투로 전환하는 것보다 훨씬 쉬워 보입니다.
OP와 동일한 문제가 있습니다. openssl을 설치했지만 nginx가 컴파일할 때 찾을 수 있었지만 libssl-devel에 대한 포인터가 도움이 되었습니다.
답변4
nginx
를 통해 빌드 macOS
하고 openssl
설치 하려고 하면 brew
라이브러리 openssl
는 다음과 같은 경로에 설치됩니다 /usr/local/opt/openssl
. ~에서brew info openssl
공식은 keg 전용입니다. 이는 /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"