Can't build OpenSSL on Windows

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Can't build OpenSSL on Windows

Martin Galvan
Hi all,

I'm trying to build OpenSSL on Windows. I'm using the nmake that came with
Visual Studio 2017, NASM, ActivePerl and have installed the Test::More and
Test::Template modules. nmake, perl and nasm are all visible in my system Path
variable. This is what I'm seeing:

C:\Users\e1\openssl\source>perl Configure VC-WIN64A --prefix=\c\Users\e1\openssl\install-windows no-comp no-zlib
Configuring OpenSSL version 1.1.0g (0x1010007fL)
    no-asan         [default]  OPENSSL_NO_ASAN
    no-comp         [option]   OPENSSL_NO_COMP (skip dir)
    no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
    no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
    no-egd          [default]  OPENSSL_NO_EGD
    no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
    no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
    no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-msan         [default]  OPENSSL_NO_MSAN
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-sctp         [default]  OPENSSL_NO_SCTP
    no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
    no-ssl3         [default]  OPENSSL_NO_SSL3
    no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
    no-ubsan        [default]  OPENSSL_NO_UBSAN
    no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
    no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
    no-zlib         [option]
    no-zlib-dynamic [default]
Configuring for VC-WIN64A
CC            =cl
CFLAG         =-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DUNICODE -D_UNICODE /MD /O2
SHARED_CFLAG  =
DEFINES       =OPENSSL_USE_APPLINK DSO_WIN32 NDEBUG OPENSSL_THREADS OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
LFLAG         =/nologo /debug
PLIB_LFLAG    =
EX_LIBS       =ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib
APPS_OBJ      =win32_init.o ../ms/applink.o
CPUID_OBJ     =x86_64cpuid.o
UPLINK_OBJ    =../ms/uplink.o uplink-x86_64.o
BN_ASM        =bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-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-sha1-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 sha256-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
PADLOCK_OBJ   =e_padlock-x86_64.o
CHACHA_ENC    =chacha-x86_64.o
POLY1305_OBJ  =poly1305-x86_64.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =true
ARFLAGS       =/nologo
PERL          =C:\Perl64\bin\perl.exe

SIXTY_FOUR_BIT mode

Configured for VC-WIN64A.

And then:

C:\Users\e1\openssl\source>nmake

Microsoft (R) Program Maintenance Utility Version 14.11.25547.0
Copyright (C) Microsoft Corporation.  All rights reserved.

"Detected changed: ".\Configure" "Configurations\windows-makefile.tmpl" "Configurations\common.tmpl"
"build.info" "crypto\build.info" "ssl\build.info" "engines\build.info" "apps\build.info"
"test\build.info" "util\build.info" "tools\build.info" "fuzz\build.info" "crypto\objects\build.info"
"crypto\md4\build.info" "crypto\md5\build.info" "crypto\sha\build.info" "crypto\mdc2\build.info"
"crypto\hmac\build.info" "crypto\ripemd\build.info" "crypto\whrlpool\build.info"
"crypto\poly1305\build.info" "crypto\blake2\build.info" "crypto\des\build.info" "crypto\aes\build.info"
"crypto\rc2\build.info" "crypto\rc4\build.info" "crypto\idea\build.info" "crypto\bf\build.info"
"crypto\cast\build.info" "crypto\camellia\build.info" "crypto\seed\build.info" "crypto\chacha\build.info"
"crypto\modes\build.info" "crypto\bn\build.info" "crypto\ec\build.info" "crypto\rsa\build.info"
"crypto\dsa\build.info" "crypto\dh\build.info" "crypto\dso\build.info" "crypto\engine\build.info"
"crypto\buffer\build.info" "crypto\bio\build.info" "crypto\stack\build.info" "crypto\lhash\build.info"
"crypto\rand\build.info" "crypto\err\build.info" "crypto\evp\build.info" "crypto\asn1\build.info"
"crypto\pem\build.info" "crypto\x509\build.info" "crypto\x509v3\build.info" "crypto\conf\build.info"
"crypto\txt_db\build.info" "crypto\pkcs7\build.info" "crypto\pkcs12\build.info" "crypto\ocsp\build.info"
"crypto\ui\build.info" "crypto\cms\build.info" "crypto\ts\build.info" "crypto\srp\build.info"
"crypto\cmac\build.info" "crypto\ct\build.info" "crypto\async\build.info" "crypto\kdf\build.info"
"Configurations\00-base-templates.conf" "Configurations\10-main.conf""
"Reconfiguring..."
        "C:\Perl64\bin\perl.exe" ".\Configure" reconf
Reconfiguring with: VC-WIN64A --prefix=\c\Users\e1\openssl\install-windows no-comp no-zlib
    CC = cl
    BUILDFILE = makefile
Configuring OpenSSL version 1.1.0g (0x1010007fL)
    no-asan         [default]  OPENSSL_NO_ASAN
    no-comp         [option]   OPENSSL_NO_COMP (skip dir)
    no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
    no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
    no-egd          [default]  OPENSSL_NO_EGD
    no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
    no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
    no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-msan         [default]  OPENSSL_NO_MSAN
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-sctp         [default]  OPENSSL_NO_SCTP
    no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
    no-ssl3         [default]  OPENSSL_NO_SSL3
    no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
    no-ubsan        [default]  OPENSSL_NO_UBSAN
    no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
    no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
    no-zlib         [option]
    no-zlib-dynamic [default]
Configuring for VC-WIN64A
CC            =cl
CFLAG         =-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DUNICODE -D_UNICODE /MD /O2
SHARED_CFLAG  =
DEFINES       =OPENSSL_USE_APPLINK DSO_WIN32 NDEBUG OPENSSL_THREADS OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
LFLAG         =/nologo /debug
PLIB_LFLAG    =
EX_LIBS       =ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib
APPS_OBJ      =win32_init.o ../ms/applink.o
CPUID_OBJ     =x86_64cpuid.o
UPLINK_OBJ    =../ms/uplink.o uplink-x86_64.o
BN_ASM        =bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-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-sha1-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 sha256-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
PADLOCK_OBJ   =e_padlock-x86_64.o
CHACHA_ENC    =chacha-x86_64.o
POLY1305_OBJ  =poly1305-x86_64.o
BLAKE2_OBJ    =
PROCESSOR     =
RANLIB        =true
ARFLAGS       =/nologo
PERL          =C:\Perl64\bin\perl.exe

SIXTY_FOUR_BIT mode

Configured for VC-WIN64A.
"**************************************************"
"***                                            ***"
"***   Please run the same make command again   ***"
"***                                            ***"
"**************************************************"
NMAKE : fatal error U1077: 'exit' : return code '0x1'
Stop.

What am I doing wrong?
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Richard Levitte - VMS Whacker-2
In message <[hidden email]> on Thu, 28 Dec 2017 19:18:37 -0300, Martin Galvan <[hidden email]> said:

omgalvan.86> Hi all,
omgalvan.86>
omgalvan.86> I'm trying to build OpenSSL on Windows. I'm using the nmake that came with
omgalvan.86> Visual Studio 2017, NASM, ActivePerl and have installed the Test::More and
omgalvan.86> Test::Template modules. nmake, perl and nasm are all visible in my system Path
omgalvan.86> variable. This is what I'm seeing:
omgalvan.86>
omgalvan.86> C:\Users\e1\openssl\source>perl Configure VC-WIN64A --prefix=\c\Users\e1\openssl\install-windows no-comp no-zlib
omgalvan.86> Configuring OpenSSL version 1.1.0g (0x1010007fL)
omgalvan.86>     no-asan         [default]  OPENSSL_NO_ASAN
omgalvan.86>     no-comp         [option]   OPENSSL_NO_COMP (skip dir)
omgalvan.86>     no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
omgalvan.86>     no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
omgalvan.86>     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
omgalvan.86>     no-egd          [default]  OPENSSL_NO_EGD
omgalvan.86>     no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
omgalvan.86>     no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
omgalvan.86>     no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
omgalvan.86>     no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
omgalvan.86>     no-msan         [default]  OPENSSL_NO_MSAN
omgalvan.86>     no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
omgalvan.86>     no-sctp         [default]  OPENSSL_NO_SCTP
omgalvan.86>     no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
omgalvan.86>     no-ssl3         [default]  OPENSSL_NO_SSL3
omgalvan.86>     no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
omgalvan.86>     no-ubsan        [default]  OPENSSL_NO_UBSAN
omgalvan.86>     no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
omgalvan.86>     no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
omgalvan.86>     no-zlib         [option]
omgalvan.86>     no-zlib-dynamic [default]
omgalvan.86> Configuring for VC-WIN64A
omgalvan.86> CC            =cl
omgalvan.86> CFLAG         =-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DUNICODE -D_UNICODE /MD /O2
omgalvan.86> SHARED_CFLAG  =
omgalvan.86> DEFINES       =OPENSSL_USE_APPLINK DSO_WIN32 NDEBUG OPENSSL_THREADS OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
omgalvan.86> LFLAG         =/nologo /debug
omgalvan.86> PLIB_LFLAG    =
omgalvan.86> EX_LIBS       =ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib
omgalvan.86> APPS_OBJ      =win32_init.o ../ms/applink.o
omgalvan.86> CPUID_OBJ     =x86_64cpuid.o
omgalvan.86> UPLINK_OBJ    =../ms/uplink.o uplink-x86_64.o
omgalvan.86> BN_ASM        =bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
omgalvan.86> EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
omgalvan.86> DES_ENC       =des_enc.o fcrypt_b.o
omgalvan.86> AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
omgalvan.86> BF_ENC        =bf_enc.o
omgalvan.86> CAST_ENC      =c_enc.o
omgalvan.86> RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
omgalvan.86> RC5_ENC       =rc5_enc.o
omgalvan.86> MD5_OBJ_ASM   =md5-x86_64.o
omgalvan.86> SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o
omgalvan.86> RMD160_OBJ_ASM=
omgalvan.86> CMLL_ENC      =cmll-x86_64.o cmll_misc.o
omgalvan.86> MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
omgalvan.86> PADLOCK_OBJ   =e_padlock-x86_64.o
omgalvan.86> CHACHA_ENC    =chacha-x86_64.o
omgalvan.86> POLY1305_OBJ  =poly1305-x86_64.o
omgalvan.86> BLAKE2_OBJ    =
omgalvan.86> PROCESSOR     =
omgalvan.86> RANLIB        =true
omgalvan.86> ARFLAGS       =/nologo
omgalvan.86> PERL          =C:\Perl64\bin\perl.exe
omgalvan.86>
omgalvan.86> SIXTY_FOUR_BIT mode
omgalvan.86>
omgalvan.86> Configured for VC-WIN64A.
omgalvan.86>
omgalvan.86> And then:
omgalvan.86>
omgalvan.86> C:\Users\e1\openssl\source>nmake
omgalvan.86>
omgalvan.86> Microsoft (R) Program Maintenance Utility Version 14.11.25547.0
omgalvan.86> Copyright (C) Microsoft Corporation.  All rights reserved.
omgalvan.86>
omgalvan.86> "Detected changed: ".\Configure" "Configurations\windows-makefile.tmpl" "Configurations\common.tmpl"
omgalvan.86> "build.info" "crypto\build.info" "ssl\build.info" "engines\build.info" "apps\build.info"
omgalvan.86> "test\build.info" "util\build.info" "tools\build.info" "fuzz\build.info" "crypto\objects\build.info"
omgalvan.86> "crypto\md4\build.info" "crypto\md5\build.info" "crypto\sha\build.info" "crypto\mdc2\build.info"
omgalvan.86> "crypto\hmac\build.info" "crypto\ripemd\build.info" "crypto\whrlpool\build.info"
omgalvan.86> "crypto\poly1305\build.info" "crypto\blake2\build.info" "crypto\des\build.info" "crypto\aes\build.info"
omgalvan.86> "crypto\rc2\build.info" "crypto\rc4\build.info" "crypto\idea\build.info" "crypto\bf\build.info"
omgalvan.86> "crypto\cast\build.info" "crypto\camellia\build.info" "crypto\seed\build.info" "crypto\chacha\build.info"
omgalvan.86> "crypto\modes\build.info" "crypto\bn\build.info" "crypto\ec\build.info" "crypto\rsa\build.info"
omgalvan.86> "crypto\dsa\build.info" "crypto\dh\build.info" "crypto\dso\build.info" "crypto\engine\build.info"
omgalvan.86> "crypto\buffer\build.info" "crypto\bio\build.info" "crypto\stack\build.info" "crypto\lhash\build.info"
omgalvan.86> "crypto\rand\build.info" "crypto\err\build.info" "crypto\evp\build.info" "crypto\asn1\build.info"
omgalvan.86> "crypto\pem\build.info" "crypto\x509\build.info" "crypto\x509v3\build.info" "crypto\conf\build.info"
omgalvan.86> "crypto\txt_db\build.info" "crypto\pkcs7\build.info" "crypto\pkcs12\build.info" "crypto\ocsp\build.info"
omgalvan.86> "crypto\ui\build.info" "crypto\cms\build.info" "crypto\ts\build.info" "crypto\srp\build.info"
omgalvan.86> "crypto\cmac\build.info" "crypto\ct\build.info" "crypto\async\build.info" "crypto\kdf\build.info"
omgalvan.86> "Configurations\00-base-templates.conf" "Configurations\10-main.conf""
omgalvan.86> "Reconfiguring..."
omgalvan.86>         "C:\Perl64\bin\perl.exe" ".\Configure" reconf
omgalvan.86> Reconfiguring with: VC-WIN64A --prefix=\c\Users\e1\openssl\install-windows no-comp no-zlib
omgalvan.86>     CC = cl
omgalvan.86>     BUILDFILE = makefile
omgalvan.86> Configuring OpenSSL version 1.1.0g (0x1010007fL)
omgalvan.86>     no-asan         [default]  OPENSSL_NO_ASAN
omgalvan.86>     no-comp         [option]   OPENSSL_NO_COMP (skip dir)
omgalvan.86>     no-crypto-mdebug [default]  OPENSSL_NO_CRYPTO_MDEBUG
omgalvan.86>     no-crypto-mdebug-backtrace [default]  OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
omgalvan.86>     no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128
omgalvan.86>     no-egd          [default]  OPENSSL_NO_EGD
omgalvan.86>     no-fuzz-afl     [default]  OPENSSL_NO_FUZZ_AFL
omgalvan.86>     no-fuzz-libfuzzer [default]  OPENSSL_NO_FUZZ_LIBFUZZER
omgalvan.86>     no-heartbeats   [default]  OPENSSL_NO_HEARTBEATS
omgalvan.86>     no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
omgalvan.86>     no-msan         [default]  OPENSSL_NO_MSAN
omgalvan.86>     no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
omgalvan.86>     no-sctp         [default]  OPENSSL_NO_SCTP
omgalvan.86>     no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE
omgalvan.86>     no-ssl3         [default]  OPENSSL_NO_SSL3
omgalvan.86>     no-ssl3-method  [default]  OPENSSL_NO_SSL3_METHOD
omgalvan.86>     no-ubsan        [default]  OPENSSL_NO_UBSAN
omgalvan.86>     no-unit-test    [default]  OPENSSL_NO_UNIT_TEST
omgalvan.86>     no-weak-ssl-ciphers [default]  OPENSSL_NO_WEAK_SSL_CIPHERS
omgalvan.86>     no-zlib         [option]
omgalvan.86>     no-zlib-dynamic [default]
omgalvan.86> Configuring for VC-WIN64A
omgalvan.86> CC            =cl
omgalvan.86> CFLAG         =-W3 -wd4090 -Gs0 -GF -Gy -nologo -DOPENSSL_SYS_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -DUNICODE -D_UNICODE /MD /O2
omgalvan.86> SHARED_CFLAG  =
omgalvan.86> DEFINES       =OPENSSL_USE_APPLINK DSO_WIN32 NDEBUG OPENSSL_THREADS OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2 OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM GHASH_ASM ECP_NISTZ256_ASM PADLOCK_ASM POLY1305_ASM
omgalvan.86> LFLAG         =/nologo /debug
omgalvan.86> PLIB_LFLAG    =
omgalvan.86> EX_LIBS       =ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib
omgalvan.86> APPS_OBJ      =win32_init.o ../ms/applink.o
omgalvan.86> CPUID_OBJ     =x86_64cpuid.o
omgalvan.86> UPLINK_OBJ    =../ms/uplink.o uplink-x86_64.o
omgalvan.86> BN_ASM        =bn_asm.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
omgalvan.86> EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
omgalvan.86> DES_ENC       =des_enc.o fcrypt_b.o
omgalvan.86> AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
omgalvan.86> BF_ENC        =bf_enc.o
omgalvan.86> CAST_ENC      =c_enc.o
omgalvan.86> RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
omgalvan.86> RC5_ENC       =rc5_enc.o
omgalvan.86> MD5_OBJ_ASM   =md5-x86_64.o
omgalvan.86> SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o
omgalvan.86> RMD160_OBJ_ASM=
omgalvan.86> CMLL_ENC      =cmll-x86_64.o cmll_misc.o
omgalvan.86> MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
omgalvan.86> PADLOCK_OBJ   =e_padlock-x86_64.o
omgalvan.86> CHACHA_ENC    =chacha-x86_64.o
omgalvan.86> POLY1305_OBJ  =poly1305-x86_64.o
omgalvan.86> BLAKE2_OBJ    =
omgalvan.86> PROCESSOR     =
omgalvan.86> RANLIB        =true
omgalvan.86> ARFLAGS       =/nologo
omgalvan.86> PERL          =C:\Perl64\bin\perl.exe
omgalvan.86>
omgalvan.86> SIXTY_FOUR_BIT mode
omgalvan.86>
omgalvan.86> Configured for VC-WIN64A.
omgalvan.86> "**************************************************"
omgalvan.86> "***                                            ***"
omgalvan.86> "***   Please run the same make command again   ***"
omgalvan.86> "***                                            ***"
omgalvan.86> "**************************************************"
omgalvan.86> NMAKE : fatal error U1077: 'exit' : return code '0x1'
omgalvan.86> Stop.
omgalvan.86>
omgalvan.86> What am I doing wrong?

Nothing, I think...

what's happening is that there's a rule that looks like this in the
makefile:

    configdata.pm : .\Configure ...

That's the one that's getting triggered for some reason, and that's
because one of those listed dependencies is newer than configdata.pm

You simply need to do exactly what you're told, i.e. run 'nmake'
again.

If that happens again and again, then you have a problem.  If I were
in your shoes, I'd look pretty hard at file time stamps to see if I
could figure it out from there.

Cheers,
Richard

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Martin Galvan
Hi Richard,

> You simply need to do exactly what you're told, i.e. run 'nmake'
> again.
>
> If that happens again and again, then you have a problem.  If I were
> in your shoes, I'd look pretty hard at file time stamps to see if I
> could figure it out from there.

I ran it several times and saw the same thing every time. What file timestamps
do I have to look at? What should I figure out from there?

I forgot to mention, I'm on Windows 10, and am building for VC-WIN64A. I also
set a non-standard --prefix when running configure (it's an existing folder
I can write to).
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Martin Galvan
In reply to this post by Richard Levitte - VMS Whacker-2
Well, after a couple more tries it seems to be working now. I don't get the
same error as before, but rather a complaint about stddef.h not being found.
I'm guessing that's more of a Visual Studio problem, so I'll look into that.

Thanks.
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Richard Levitte - VMS Whacker-2
In message <[hidden email]> on Fri, 29 Dec 2017 11:59:27 -0300, Martin Galvan <[hidden email]> said:

omgalvan.86> Well, after a couple more tries it seems to be working now. I don't get the
omgalvan.86> same error as before, but rather a complaint about stddef.h not being found.
omgalvan.86> I'm guessing that's more of a Visual Studio problem, so I'll look into that.

Ok, so this is a timestamp thing.  I had a system once where this
happened, because some of the files configdata.pm depended on were
timestamped in the future.  It turned out that the time of that
systems was badly set (in the past), so it took that time difference
before 'mms' (this was a VMS machine, 'mms' is the 'make' command
there) stopped reconfiguring.

configdata.pm depends on Configure, Configurations/*.conf,
Configurations/*.pl, Configurations/*.tmpl, and all the
build.info files.  If any of those are newer, 'nmake' will
automatically reconfigure and ask you to run again.

Timing is everything ;-)

Cheers,
Richard

--
Richard Levitte         [hidden email]
OpenSSL Project         http://www.openssl.org/~levitte/
--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Michael Wojcik
> From: openssl-users [mailto:[hidden email]] On Behalf
> Of Richard Levitte
> Sent: Friday, December 29, 2017 12:14
>
> If any of those are newer, 'nmake' will
> automatically reconfigure and ask you to run again.

It's also worth noting that nmake's dependency-graph generation is flaky (possibly due to flaws in Windows file timestamping, though I've never tracked down the exact cause). I have a number of nmake files that regularly rebuild things unnecessarily, and others that sporadically do.

So as Richard said, check the time on the machine and try running nmake again. Sometimes it's worth temporarily throttling the CPU to slow the build down a bit.

--
Michael Wojcik
Distinguished Engineer, Micro Focus



--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Reply | Threaded
Open this post in threaded view
|

Re: Can't build OpenSSL on Windows

Jakob Bohm-7
On 29/12/2017 19:34, Michael Wojcik wrote:

>> From: openssl-users [mailto:[hidden email]] On Behalf
>> Of Richard Levitte
>> Sent: Friday, December 29, 2017 12:14
>>
>> If any of those are newer, 'nmake' will
>> automatically reconfigure and ask you to run again.
> It's also worth noting that nmake's dependency-graph generation is flaky (possibly due to flaws in Windows file timestamping, though I've never tracked down the exact cause). I have a number of nmake files that regularly rebuild things unnecessarily, and others that sporadically do.
>
> So as Richard said, check the time on the machine and try running nmake again. Sometimes it's worth temporarily throttling the CPU to slow the build down a bit.
>
FYI:

The historic "Windows/DOS" timestamp implementation issue was that many
years ago, the FAT file system had a timestamp resolution of 2 seconds,
which meant that naively ported versions of *n*x make would sometimes
not realize that it was ok for a derived file to have the same timestamp
(rounded) as the file from which it was derived.

This is not the case for NTFS (currently dominant) which has a timestamp
resolution of 100ns, nor for modernized versions of the FAT file system
(stores sub-second decimals in a previously unused field).

nmake was historically written to run under DOS, and was thus never
affected by the 2s rounding or other such limitations.  However nmake
may not have been well maintained as Microsoft shifted focus to their
more complex (but less capable) build systems, such as the old Visual
Studio (devenv.com) build system or the XML-based MSBuild system.

These days the most common "timestamp related" build issues on Windows
are about the fact that the Windows file commands default to preserving
the timestamps of files (similar to GNU "cp --preserve=timestamps" ).
This sometimes confuses build systems that assume file timestamps
get updated when a file is copied into a build directory.


Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded

--
openssl-users mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users