[openssl-users] How to compile 1.1.1 under Windows

Chris Clark a.chris.clark at gmail.com
Tue Oct 23 08:22:34 UTC 2018


Thank you Richard. Adding the "no-makedepend" avoided the  fatal error
U1077, but now it fails due to an undeclared identifier:

cl  /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 /I
"." /I "crypto\include" /I "include" -D"L_ENDIAN" -D"OPENSSL_PIC"
-D"OPENSSL_CPUID_OBJ" -D"OPENSSL_IA32_SSE2" -D"OPENSSL_BN_ASM_MONT"
-D"OPENSSL_BN_ASM_MONT5" -D"OPENSSL_BN_ASM_GF2m" -D"SHA1_ASM"
-D"SHA256_ASM" -D"SHA512_ASM" -D"KECCAK1600_ASM" -D"RC4_ASM"
-D"MD5_ASM" -D"AES_ASM" -D"VPAES_ASM" -D"BSAES_ASM" -D"GHASH_ASM"
-D"ECP_NISTZ256_ASM" -D"X25519_ASM" -D"PADLOCK_ASM" -D"POLY1305_ASM"
-D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\""
-D"ENGINESDIR=\"C:\\openssl\\lib\\engines-1_1\"" -D"OPENSSL_SYS_WIN32"
-D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE"
-D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS"
-D"OPENSSL_USE_APPLINK" -D"NDEBUG"  -c /Focrypto\sm2\sm2_sign.obj
"crypto\sm2\sm2_sign.c"
sm2_sign.c
crypto\sm2\sm2_sign.c(70) : error C2065: 'UINT16_MAX' : undeclared identifier
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
Studio 9.0\VC\BIN\amd64\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
Studio 9.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
Stop.
On Tue, Oct 23, 2018 at 12:19 AM Richard Levitte <levitte at openssl.org> wrote:
>
> I suspect you'll find some kind of error message in
> crypto\sm2\sm2_sign.d.  I suspect that /showIncludes isn't supported
> in VS 2008.
>
> There is a workaround for this problem, and it's to use the
> 'no-makedepend' option:
>
>     perl Configure VC-WIN64A --prefix=c:/openssl no-makedepend
>
> For a single build, that should be good enough.
>
> Cheers,
> Richard
>
> In message <CACaGmvAh8SHsX4_dVPjzb4BQPNc5a0rQQoK-JB9Qi=Oo_4HHeQ at mail.gmail.com> on Mon, 22 Oct 2018 23:50:46 -0700, Chris Clark <a.chris.clark at gmail.com> said:
>
> > I am attempting to upgrade a project using OpenSSL 1.0.0h to version
> > 1.1.1 under Visual Studio 2008-SP1, but when I try to compile version
> > 1.1.1 for VC-WIN64A I get the following compile error:
> >
> >        cl  /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo
> > /O2 /I "." /I "crypto\include" /I "include" -D"L_ENDIAN"
> > -D"OPENSSL_PIC" -D"OPENSSL_CPUID_OBJ" -D"OPENSSL_IA32_SSE2"
> > -D"OPENSSL_BN_ASM_MONT" -D"OPENSSL_BN_ASM_MONT5"
> > -D"OPENSSL_BN_ASM_GF2m" -D"SHA1_ASM" -D"SHA256_ASM" -D"SHA512_ASM"
> > -D"KECCAK1600_ASM" -D"RC4_ASM" -D"MD5_ASM" -D"AES_ASM" -D"VPAES_ASM"
> > -D"BSAES_ASM" -D"GHASH_ASM" -D"ECP_NISTZ256_ASM" -D"X25519_ASM"
> > -D"PADLOCK_ASM" -D"POLY1305_ASM" -D"OPENSSLDIR=\"C:\\Program
> > Files\\Common Files\\SSL\""
> > -D"ENGINESDIR=\"C:\\openssl\\lib\\engines-1_1\"" -D"OPENSSL_SYS_WIN32"
> > -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE"
> > -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS"
> > -D"OPENSSL_USE_APPLINK" -D"NDEBUG"  /Zs /showIncludes
> > "crypto\sm2\sm2_sign.c" 2>&1 > crypto\sm2\sm2_sign.d
> > NMAKE : fatal error U1077: 'cl' : return code '0x2'
> > Stop.
> > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> > Studio 9.0\VC\BIN\amd64\nmake.exe"' : return code '0x2'
> > Stop.
> >
> > My Command lines from the VS 2008 x64 Command Prompt are:
> > perl Configure VC-WIN64A --prefix=c:/openssl
> > nmake
> >
> > I also tried compiling the latest stable snapshot
> > (openssl-1.1.1-stable-SNAP-20181022) with the same results. However
> > version 1.1.0h compiles without error. Can anyone tell me what the
> > problem is?
> >
> > Here is the configuration dump:
> >
> > Command line (with current working directory = .):
> >     c:\perl\bin\perl.exe Configure VC-WIN64A --prefix=c:/openssl
> > Perl information:
> >     c:\perl\bin\perl.exe
> >     5.24.3 for MSWin32-x64-multi-thread
> > Enabled features:
> >     aria
> >     asm
> >     async
> >     autoalginit
> >     autoerrinit
> >     autoload-config
> >     bf
> >     blake2
> >     camellia
> >     capieng
> >     cast
> >     chacha
> >     cmac
> >     cms
> >     comp
> >     ct
> >     deprecated
> >     des
> >     dgram
> >     dh
> >     dsa
> >     dso
> >     dtls
> >     dynamic-engine
> >     ec
> >     ec2m
> >     ecdh
> >     ecdsa
> >     engine
> >     err
> >     filenames
> >     gost
> >     hw(-.+)?
> >     idea
> >     makedepend
> >     md4
> >     mdc2
> >     multiblock
> >     nextprotoneg
> >     ocb
> >     ocsp
> >     pic
> >     poly1305
> >     posix-io
> >     psk
> >     rc2
> >     rc4
> >     rdrand
> >     rfc3779
> >     rmd160
> >     scrypt
> >     seed
> >     shared
> >     siphash
> >     sm2
> >     sm3
> >     sm4
> >     sock
> >     srp
> >     srtp
> >     sse2
> >     ssl
> >     static-engine
> >     stdio
> >     tests
> >     threads
> >     tls
> >     ts
> >     ui-console
> >     whirlpool
> >     tls1
> >     tls1-method
> >     tls1_1
> >     tls1_1-method
> >     tls1_2
> >     tls1_2-method
> >     tls1_3
> >     dtls1
> >     dtls1-method
> >     dtls1_2
> >     dtls1_2-method
> > Disabled features:
> >     afalgeng                [not-linux]
> >     asan                    [default]   OPENSSL_NO_ASAN
> >     crypto-mdebug           [default]   OPENSSL_NO_CRYPTO_MDEBUG
> >     crypto-mdebug-backtrace [default]   OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
> >     devcryptoeng            [default]   OPENSSL_NO_DEVCRYPTOENG
> >     ec_nistp_64_gcc_128     [default]   OPENSSL_NO_EC_NISTP_64_GCC_128
> >     egd                     [default]   OPENSSL_NO_EGD
> >     external-tests          [default]   OPENSSL_NO_EXTERNAL_TESTS
> >     fuzz-libfuzzer          [default]   OPENSSL_NO_FUZZ_LIBFUZZER
> >     fuzz-afl                [default]   OPENSSL_NO_FUZZ_AFL
> >     heartbeats              [default]   OPENSSL_NO_HEARTBEATS
> >     md2                     [default]   OPENSSL_NO_MD2 (skip crypto\md2)
> >     msan                    [default]   OPENSSL_NO_MSAN
> >     rc5                     [default]   OPENSSL_NO_RC5 (skip crypto\rc5)
> >     sctp                    [default]   OPENSSL_NO_SCTP
> >     ssl-trace               [default]   OPENSSL_NO_SSL_TRACE
> >     ubsan                   [default]   OPENSSL_NO_UBSAN
> >     unit-test               [default]   OPENSSL_NO_UNIT_TEST
> >     weak-ssl-ciphers        [default]   OPENSSL_NO_WEAK_SSL_CIPHERS
> >     zlib                    [default]
> >     zlib-dynamic            [default]
> >     ssl3                    [default]   OPENSSL_NO_SSL3
> >     ssl3-method             [default]   OPENSSL_NO_SSL3_METHOD
> > Config target attributes:
> >     AR => "lib",
> >     ARFLAGS => "/nologo",
> >     AS => "nasm",
> >     ASFLAGS => "-g",
> >     CC => "cl",
> >     CFLAGS => "/W3 /wd4090 /nologo /O2",
> >     CPP => "\$(CC) /EP /C",
> >     HASHBANGPERL => "/usr/bin/env perl",
> >     LD => "link",
> >     LDFLAGS => "/nologo /debug",
> >     MT => "mt",
> >     MTFLAGS => "-nologo",
> >     RANLIB => "CODE(0x65aff0)",
> >     RC => "rc",
> >     aes_asm_src => "aes-x86_64.s vpaes-x86_64.s bsaes-x86_64.s
> > aesni-x86_64.s aesni-sha1-x86_64.s aesni-sha256-x86_64.s
> > aesni-mb-x86_64.s",
> >     aes_obj => "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",
> >     apps_aux_src => "win32_init.c",
> >     apps_init_src => "../ms/applink.c",
> >     apps_obj => "win32_init.o",
> >     aroutflag => "/out:",
> >     asflags => "-Ox -f win64 -DNEAR",
> >     asoutflag => "-o ",
> >     bf_asm_src => "bf_enc.c",
> >     bf_obj => "bf_enc.o",
> >     bin_cflags => "/Zi /Fdapp.pdb",
> >     bin_lflags => "/subsystem:console /opt:ref",
> >     bn_asm_src => "bn_asm.c x86_64-mont.s x86_64-mont5.s x86_64-gf2m.s
> > rsaz_exp.c rsaz-x86_64.s rsaz-avx2.s",
> >     bn_obj => "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",
> >     bn_ops => "EXPORT_VAR_AS_FN SIXTY_FOUR_BIT",
> >     build_file => "makefile",
> >     build_scheme => [ "unified", "windows", "VC-common" ],
> >     cast_asm_src => "c_enc.c",
> >     cast_obj => "c_enc.o",
> >     cflags => "/Gs0 /GF /Gy /MD",
> >     chacha_asm_src => "chacha-x86_64.s",
> >     chacha_obj => "chacha-x86_64.o",
> >     cmll_asm_src => "cmll-x86_64.s cmll_misc.c",
> >     cmll_obj => "cmll-x86_64.o cmll_misc.o",
> >     coutflag => "/Fo",
> >     cppflags => "",
> >     cpuid_asm_src => "x86_64cpuid.s",
> >     cpuid_obj => "x86_64cpuid.o",
> >     defines => [ "OPENSSL_SYS_WIN32", "WIN32_LEAN_AND_MEAN",
> > "UNICODE", "_UNICODE", "_CRT_SECURE_NO_DEPRECATE",
> > "_WINSOCK_DEPRECATED_NO_WARNINGS", "OPENSSL_USE_APPLINK" ],
> >     des_asm_src => "des_enc.c fcrypt_b.c",
> >     des_obj => "des_enc.o fcrypt_b.o",
> >     disable => [  ],
> >     dso_cflags => "/Zi /Fddso.pdb",
> >     dso_extension => "",
> >     dso_scheme => "win32",
> >     ec_asm_src => "ecp_nistz256.c ecp_nistz256-x86_64.s x25519-x86_64.s",
> >     ec_obj => "ecp_nistz256.o ecp_nistz256-x86_64.o x25519-x86_64.o",
> >     enable => [  ],
> >     ex_libs => "ws2_32.lib gdi32.lib advapi32.lib crypt32.lib user32.lib",
> >     exe_extension => "",
> >     includes => [  ],
> >     keccak1600_asm_src => "keccak1600-x86_64.s",
> >     keccak1600_obj => "keccak1600-x86_64.o",
> >     ldoutflag => "/out:",
> >     lflags => "",
> >     lib_cflags => "/Zi /Fdossl_static.pdb",
> >     lib_cppflags => "",
> >     lib_defines => [ "L_ENDIAN" ],
> >     md5_asm_src => "md5-x86_64.s",
> >     md5_obj => "md5-x86_64.o",
> >     modes_asm_src => "ghash-x86_64.s aesni-gcm-x86_64.s",
> >     modes_obj => "ghash-x86_64.o aesni-gcm-x86_64.o",
> >     module_cflags => "",
> >     module_cxxflags => "",
> >     module_ldflags => "/dll",
> >     mtinflag => "-manifest ",
> >     mtoutflag => "-outputresource:",
> >     multilib => "-x64",
> >     padlock_asm_src => "e_padlock-x86_64.s",
> >     padlock_obj => "e_padlock-x86_64.o",
> >     perlasm_scheme => "auto",
> >     poly1305_asm_src => "poly1305-x86_64.s",
> >     poly1305_obj => "poly1305-x86_64.o",
> >     rc4_asm_src => "rc4-x86_64.s rc4-md5-x86_64.s",
> >     rc4_obj => "rc4-x86_64.o rc4-md5-x86_64.o",
> >     rc5_asm_src => "rc5_enc.c",
> >     rc5_obj => "rc5_enc.o",
> >     rcoutflag => "/fo",
> >     rmd160_asm_src => "",
> >     rmd160_obj => "",
> >     sha1_asm_src => "sha1-x86_64.s sha256-x86_64.s sha512-x86_64.s
> > sha1-mb-x86_64.s sha256-mb-x86_64.s",
> >     sha1_obj => "sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
> > sha1-mb-x86_64.o sha256-mb-x86_64.o",
> >     shared_cflag => "",
> >     shared_defines => [  ],
> >     shared_extension => "",
> >     shared_extension_simple => "",
> >     shared_ldflag => "/dll",
> >     shared_rcflag => "",
> >     shared_target => "win-shared",
> >     sys_id => "WIN64A",
> >     thread_defines => [  ],
> >     thread_scheme => "winthreads",
> >     unistd => "<unistd.h>",
> >     uplink_aux_src => "../ms/uplink.c uplink-x86_64.s",
> >     uplink_obj => "../ms/uplink.o uplink-x86_64.o",
> >     wp_asm_src => "wp-x86_64.s",
> >     wp_obj => "wp-x86_64.o",
> > Recorded environment:
> >     AR =
> >     ARFLAGS =
> >     AS =
> >     ASFLAGS =
> >     BUILDFILE =
> >     CC =
> >     CFLAGS =
> >     CPP =
> >     CPPDEFINES =
> >     CPPFLAGS =
> >     CPPINCLUDES =
> >     CROSS_COMPILE =
> >     CXX =
> >     CXXFLAGS =
> >     HASHBANGPERL =
> >     LD =
> >     LDFLAGS =
> >     LDLIBS =
> >     MT =
> >     MTFLAGS =
> >     OPENSSL_LOCAL_CONFIG_DIR =
> >     PERL =
> >     RANLIB =
> >     RC =
> >     RCFLAGS =
> >     RM =
> >     WINDRES =
> >     __CNF_CFLAGS =
> >     __CNF_CPPDEFINES =
> >     __CNF_CPPFLAGS =
> >     __CNF_CPPINCLUDES =
> >     __CNF_CXXFLAGS =
> >     __CNF_LDFLAGS =
> >     __CNF_LDLIBS =
> > Makevars:
> >     AR              = lib
> >     ARFLAGS         = /nologo
> >     AS              = nasm
> >     ASFLAGS         = -g
> >     CC              = cl
> >     CFLAGS          = /W3 /wd4090 /nologo /O2
> >     CPP             = $(CC) /EP /C
> >     CPPDEFINES      =
> >     CPPFLAGS        =
> >     CPPINCLUDES     =
> >     CXXFLAGS        =
> >     HASHBANGPERL    = /usr/bin/env perl
> >     LD              = link
> >     LDFLAGS         = /nologo /debug
> >     LDLIBS          =
> >     MT              = mt
> >     MTFLAGS         = -nologo
> >     PERL            = c:\perl\bin\perl.exe
> >     RC              = rc
> > NOTE: These variables only represent the configuration view.  The build file
> > template may have processed these variables further, please have a look at the
> > build file for more exact data:
> >     makefile
> > build file:
> >     makefile
> > build file templates:
> >     Configurations\common0.tmpl
> >     Configurations\windows-makefile.tmpl
> >     Configurations\common.tmpl
> >
> --
> openssl-users mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users


More information about the openssl-users mailing list