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"을 실행하는 것은 우분투로 전환하는 것보다 훨씬 쉬워 보입니다.

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"

관련 정보