Hello! On Tue, Dec 13, 2016 at 05:29:48PM -0500, sofiamay wrote:
> Nginx не собирается с OpenSSL 1.1.0c на Windows, вот последние строки лога: Да, всё так. В OpenSSL 1.1.x поменяли процедуру сборки и имена библиотек под Windows, и nginx этого ещё не умеет. У меня лежат предварительные патчи про это, но когда я доберусь их доделать/закоммитить - неизвестно. Если хочется поиграться, то вот версия патча по состоянию на OpenSSL 1.1.0: # HG changeset patch # User Maxim Dounin <[email protected]> # Date 1481732611 -10800 # Wed Dec 14 19:23:31 2016 +0300 # Node ID a445bb89efa28d808d9ed58c5b9491d3f1e02343 # Parent 32714e60862997a2b5e88887cd5f20d1d28d694b Win32: compatiblity with OpenSSL 1.1.0. OpenSSL 1.1.0 now uses normal "nmake; nmake install" instead of using custom "ms\do_ms.bat" script and "ms\nt.mak" makefile. And Configure now requires --prefix to be absolute, and no longer derives --openssldir from prefix (so it's specified explicitly). Generated libraries are now called "libcrypto.lib" and "libssl.lib" instead of "libeay32.lib" and "ssleay32.lib". Additionally, compilation fails due to "warning C4090: 'function' : different 'const' qualifiers" in openssl/lhash.h. diff -r 32714e608629 -r a445bb89efa2 auto/lib/openssl/conf --- a/auto/lib/openssl/conf Tue Dec 13 00:49:44 2016 +0100 +++ b/auto/lib/openssl/conf Wed Dec 14 19:23:31 2016 +0300 @@ -15,8 +15,16 @@ if [ $OPENSSL != NONE ]; then CORE_INCS="$CORE_INCS $OPENSSL/openssl/include" CORE_DEPS="$CORE_DEPS $OPENSSL/openssl/include/openssl/ssl.h" - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" - CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" + + if [ -f $OPENSSL/ms/do_ms ]; then + # before OpenSSL 1.1.0 + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/ssleay32.lib" + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libeay32.lib" + else + # OpenSSL 1.1.0+ + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libssl.lib" + CORE_LIBS="$CORE_LIBS $OPENSSL/openssl/lib/libcrypto.lib" + fi # libeay32.lib requires gdi32.lib CORE_LIBS="$CORE_LIBS gdi32.lib" diff -r 32714e608629 -r a445bb89efa2 auto/lib/openssl/makefile.msvc --- a/auto/lib/openssl/makefile.msvc Tue Dec 13 00:49:44 2016 +0100 +++ b/auto/lib/openssl/makefile.msvc Wed Dec 14 19:23:31 2016 +0300 @@ -6,9 +6,16 @@ all: cd $(OPENSSL) - perl Configure VC-WIN32 no-shared --prefix=openssl $(OPENSSL_OPT) + perl Configure VC-WIN32 no-shared \ + --prefix="%cd%/openssl" \ + --openssldir="%cd%/openssl/ssl" \ + $(OPENSSL_OPT) - ms\do_ms - - $(MAKE) -f ms\nt.mak - $(MAKE) -f ms\nt.mak install + if exist ms\do_ms ( \ + ms\do_ms \ + && $(MAKE) -f ms\nt.mak \ + && $(MAKE) -f ms\nt.mak install \ + ) else ( \ + $(MAKE) \ + && $(MAKE) install_sw \ + ) diff -r 32714e608629 -r a445bb89efa2 misc/GNUmakefile --- a/misc/GNUmakefile Tue Dec 13 00:49:44 2016 +0100 +++ b/misc/GNUmakefile Wed Dec 14 19:23:31 2016 +0300 @@ -5,7 +5,7 @@ NGINX = nginx-$(VER) TEMP = tmp OBJS = objs.msvc8 -OPENSSL = openssl-1.0.2j +OPENSSL = openssl-1.1.0c ZLIB = zlib-1.2.8 PCRE = pcre-8.39 diff -r 32714e608629 -r a445bb89efa2 src/os/win32/ngx_win32_config.h --- a/src/os/win32/ngx_win32_config.h Tue Dec 13 00:49:44 2016 +0100 +++ b/src/os/win32/ngx_win32_config.h Wed Dec 14 19:23:31 2016 +0300 @@ -87,6 +87,9 @@ typedef long time_t; /* 'type cast': from data pointer to function pointer */ #pragma warning(disable:4055) +/* 'function' : different 'const' qualifiers */ +#pragma warning(disable:4090) + /* unreferenced formal parameter */ #pragma warning(disable:4100) -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
