[openssl-users] Help installing OpenSSL 1.1.0 pre6 on Windows 2012 R2

Matt Caswell matt at openssl.org
Fri Aug 26 19:25:15 UTC 2016



On 26/08/16 19:17, Harster, Kaarl C CIV NAVSEA KPWA, 104 wrote:
> Hello,
>  I've tried many times now to install OpenSSL 1.1.0 pre6 on my Windows 2012 R2 64bit machine.

1.1.0 pre6 is the beta version, but the final 1.1.0 release was made
available yesterday, so to start with I suggest you use that.


> We are wanting to run 64bit everything.
> I have installed 
> ActivePerl 5.24.0.2400
> Microsoft Visual Studio Ultimate 2012 version 11.0.50727.1 RTMREL with Visual C++2012 installed in it.

You also need NASM. See NOTES.WIN

> 
> When I try to use OpenSSL 1.1.0 pre6 for some reason it can't find the nmake commend and it looks to me that the do_win54a and other files are missing in the ms folder.
> Sorry but I'm new to ActivePerl. I think the nmake is a perl problem maybe. Is there additional step you have to do after installing Activeperl to get the nmake command to work?

nmake comes with Visual Studio. Typically if you use the MSVC developer
command prompt it will be available on your PATH.

https://msdn.microsoft.com/en-GB/library/ms229859(v=vs.110).aspx


> I did find on the ActiveState site the following:
> "For 64-bit Perl on 64-bit Windows currently the only supported compiler is the Visual C++ compiler included in the Windows Server 2003 SP1 Platform SDK (aka the April 2005 edition). 
> Use the SetEnv.cmd script to set the PATH, LIB, and INCLUDE environment variables to the correct value for building ActivePerl extensions with this command:
> "C:\Program Files\Microsoft Platform SDK\SetEnv.Cmd" /XP64 /RETAIL"
> 
> I tried installing the SDK on my Windows 2012 R2 64bit machine and of course it will not install can't find files it needs.
> Has anyone tried this? 
> 
> So I tried going back a version on openSSL
> When I try to use the 1.0.2h version of openSSL, the nmake and the other do_ files are in the ms folder and seem to work  but I cannot seem to get past the following error message:
> c:\openssl\openssl-1.0.2h>nmake -f ms\nt.mak
> ...
> Assembling: tmp32\sha1-586.asm
> tmp32\sha1-586.asm(1432) : error A2070:invalid instruction operands
> tmp32\sha1-586.asm(1576) : error A2070:invalid instruction operands
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
> \VC\BIN\ml.EXE"' : return code '0x1'
> Stop.

You are using the MASM assembler that comes with MSVC. That is no longer
officially supported. Use NASM instead.

Matt



> 
> Or when I try the following I get a different error:
> 
> c:\openssl\openssl-1.0.2h>perl configure VC-WIN64A --prefix=C:\_openssl-1.0.2a_x
> 64_release_static
> Configuring for VC-WIN64A
>     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
>     no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
>     no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
>     no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
>     no-libunbound   [experimental] OPENSSL_NO_LIBUNBOUND (skip dir)
>     no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
>     no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
>     no-rfc3779      [default]  OPENSSL_NO_RFC3779 (skip dir)
>     no-sctp         [default]  OPENSSL_NO_SCTP (skip dir)
>     no-shared       [default]
>     no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE (skip dir)
>     no-ssl2         [default]  OPENSSL_NO_SSL2 (skip dir)
>     no-store        [experimental] OPENSSL_NO_STORE (skip dir)
>     no-unit-test    [default]  OPENSSL_NO_UNIT_TEST (skip dir)
>     no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS (skip dir)
>     no-zlib         [default]
>     no-zlib-dynamic [default]
> IsMK1MF=1
> CC            =cl
> CFLAG         =-DOPENSSL_THREADS  -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYS
> NAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_N
> O_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DO
> PENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVP
> AES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
> EX_LIBS       =
> CPUID_OBJ     =x86_64cpuid.o
> BN_ASM        =bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rs
> az-x86_64.o rsaz-avx2.o
> EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
> DES_ENC       =des_enc.o fcrypt_b.o
> AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-s
> ha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
> BF_ENC        =bf_enc.o
> CAST_ENC      =c_enc.o
> RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
> RC5_ENC       =rc5_enc.o
> MD5_OBJ_ASM   =md5-x86_64.o
> SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sh
> a256-mb-x86_64.o
> RMD160_OBJ_ASM=
> CMLL_ENC      =cmll-x86_64.o cmll_misc.o
> MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
> ENGINES_OBJ   =
> PROCESSOR     =
> RANLIB        =true
> ARFLAGS       =
> PERL          =perl
> SIXTY_FOUR_BIT mode
> DES_INT used
> RC4_CHUNK is unsigned long long
> 
> Configured for VC-WIN64A.
> 
> c:\openssl\openssl-1.0.2h>ms\do_win64a
> 
> c:\openssl\openssl-1.0.2h>perl util\mkfiles.pl  1>MINFO
> 
> c:\openssl\openssl-1.0.2h>cmd /c "nasm -f win64 -v"  1>NUL 2>&1
> 
> c:\openssl\openssl-1.0.2h>if 1 NEQ 0 goto ml64
> 
> c:\openssl\openssl-1.0.2h>perl ms\uplink-x86_64.pl masm  1>ms\uptable.asm
> 
> c:\openssl\openssl-1.0.2h>ml64 -c -Foms\uptable.obj ms\uptable.asm
> Microsoft (R) Macro Assembler (x64) Version 11.00.50727.1
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>  Assembling: ms\uptable.asm
> 
> c:\openssl\openssl-1.0.2h>perl util\mk1mf.pl VC-WIN64A  1>ms\nt.mak
> 
> c:\openssl\openssl-1.0.2h>perl util\mk1mf.pl dll VC-WIN64A  1>ms\ntdll.mak
> 
> c:\openssl\openssl-1.0.2h>perl util\mkdef.pl 32 libeay  1>ms\libeay32.def
> 
> c:\openssl\openssl-1.0.2h>perl util\mkdef.pl 32 ssleay  1>ms\ssleay32.def
> 
> c:\openssl\openssl-1.0.2h>nmake -f ms\nt.mak
> 
> Microsoft (R) Program Maintenance Utility Version 11.00.50727.1
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
> Building OpenSSL
>         perl .\util\copy-if-different.pl ".\crypto\buildinf.h" "tmp32\buildinf.h
> "
> Copying: ./crypto/buildinf.h to tmp32/buildinf.h
>         perl .\util\copy-if-different.pl ".\crypto\opensslconf.h" "inc32\openssl
> \opensslconf.h"
> Copying: ./crypto/opensslconf.h to inc32/openssl/opensslconf.h
>         lib /nologo /out:out32\libeay32.lib @C:\Users\KAARLH~1.LOC\AppData\Local
> \Temp\nm327D.tmp
> tmp32\x86_64cpuid.obj : fatal error LNK1112: module machine type 'x64' conflicts
>  with target machine type 'X86'
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
> \VC\BIN\lib.EXE"' : return code '0x458'
> Stop.
> 
> Kaarl Harster
> 
> 
> 
> 


More information about the openssl-users mailing list