building nginx with non-system openssl ?

Ben DJ bendj095124367913213465 at gmail.com
Sat Apr 3 07:28:09 MSD 2010


Hi,

I've installed OpenSSL 1.0.0 in /usr/local/ssl; sources are in
/usr/local/src/openssl.

Note,

	pkg-config --libs "libcrypto" && \
	pkg-config --libs "libssl"    && \
	pkg-config --libs "openssl"

		-L/usr/local/ssl/lib -lcrypto -ldl -lz
		-L/usr/local/ssl/lib -lssl -lcrypto -ldl -lz
		-L/usr/local/ssl/lib -lssl -lcrypto -ldl -lz


I'm trying to build nginx so that it uses that openssl version's libs/headers.


Noting configure's options,

  --with-openssl=DIR                 set path to OpenSSL library sources
  --with-openssl-opt=OPTIONS         set additional options for OpenSSL building

(what, exactly, are the 'additional options for OpenSSL building'
supposed to be?)

If I,

  ./configure --with-http_ssl_module --with-openssl=/usr/local/src/openssl

I get,

	Configuration summary
	  + using system PCRE library
	  + using OpenSSL library: /usr/local/src/openssl
	  + md5: using OpenSSL library
	  + sha1 library is not used
	  + using system zlib library

but,

	make -j5

fails with,

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

I'd normally set ldflags, cppflags and cflags ... but, afaict, they're
not referenced in nginx source,

	egrep -i "ldflags|cflags|cppflags" .
		(empty)

How do I configure/build nging to use 'my' openssl?

Thanks,

BenDJ



More information about the nginx mailing list