nginx build with OpenSSL 1.0.1

Maxim Dounin mdounin at mdounin.ru
Thu Mar 15 00:41:16 UTC 2012


Hello!

On Wed, Mar 14, 2012 at 03:35:09PM -0400, Samael wrote:

> Hello, community,
> 
> I'm having trouble compiling nginx against OpenSSL 1.0.1. When I compile
> OpenSSL manually, I have no problems, everything is fine, but when
> trying to compile nginx with the --with-openssl option the compilation
> fails with the following message:
> 
> ...
> make[4]: Leaving directory
> `/usr/src/redhat/SOURCES/openssl-1.0.1/crypto/cmac'
> if [ -n "" ]; then \
>                 (cd ..; make libcrypto.so.1.0.0); \
>         fi
> make[3]: Leaving directory
> `/usr/src/redhat/SOURCES/openssl-1.0.1/crypto'
> make[2]: Leaving directory `/usr/src/redhat/SOURCES/openssl-1.0.1'
> make[1]: ***
> [/usr/src/redhat/SOURCES/openssl-1.0.1/.openssl/include/openssl/ssl.h]
> Error 2

Is it vanilla OpenSSL or some redhat-patched sources?  Vanilla one 
builds just fine here under FreeBSD as well as CentOS 6.2.

If it indeed doesn't work for you with vanilla OpenSSL, please try
to remove and re-extract sources from openssl-1.0.1.tar.gz tarball 
to make sure there are no accedental changes.

If it still fails to build with nginx, please provide full 
transcript of the nginx ./configure and build till failure, as 
well as some more details information about your OS.

You may also try doing relevant build commands in openssl build 
directory yourself, in particular make sure the following works ok 
in the directory with openssl sources:

./config no-shared no-threads && make

If it fails, there is probably some issue completely unrelated to 
nginx.

> When I try to do a "make all" from openssl-1.0.1/crypto without cleaning
> the source tree, it fails with:
> 
> ...
> cc -I. -I.. -I../include  -g   -c -o mem_clr.o mem_clr.c
> ar r ../libcrypto.a cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o
> cpt_err.o ebcdic.o uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o
> fips_ers.o mem_clr.o
> [ -z "" ] || ar r ../libcrypto.a fipscanister.o
> ../libcrypto.a || echo Never mind.
> /bin/sh: ../libcrypto.a: Permission denied
> Never mind.
> make: *** [subdirs] Error 1

This is expected to fail, you have to run just "make" (or "make 
top", which is the same).  The "all" target requires variables set 
by top-level makefile.

Maxim Dounin



More information about the nginx mailing list