[openssl-users] How to compile 1.1.1 under Windows
Richard Levitte
levitte at openssl.org
Tue Oct 23 09:22:17 UTC 2018
Silly me, I forgot we already fixed that bug:
commit 6258e244bf702dc981c8ad63ab61133b8bbf2ba3
Author: Richard Levitte <levitte at openssl.org>
Date: Wed Sep 12 02:06:26 2018 +0200
crypto/sm2/sm2_sign.c: ensure UINT16_MAX is properly defined
Fixes #7186
Reviewed-by: Tim Hudson <tjh at openssl.org>
(Merged from https://github.com/openssl/openssl/pull/7193)
(cherry picked from commit 88ea3685e4bf30fc529fe46e19effc6317726de8)
Cheers,
Richard
In message <20181023.103453.1842719922424343673.levitte at openssl.org> on Tue, 23 Oct 2018 10:34:53 +0200 (CEST), Richard Levitte <levitte at openssl.org> said:
> That indicates we do things in the wrong order (foo.obj depends on
> foo.d, meaning foo.d gets "built" first), but that's a side issue.
>
> You found a bug in crypto\sm2\sm2_sign.c, thank you. Are you willing
> to write up a Github issue for it?
>
> In message <CACaGmvAzV1eUXBWh=4N0qaKs3VH0AO4cmsLXxdWeMnzNP8QJ5Q at mail.gmail.com> on Tue, 23 Oct 2018 01:22:34 -0700, Chris Clark <a.chris.clark at gmail.com> said:
>
> > 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