Build openssl on windows 10 using cygwin
רונן לוי
levyron77 at gmail.com
Mon Oct 17 17:12:17 UTC 2022
Hi Michael,
see attached file for cygwin details.
The openssl is cloned from:
git clone https://github.com/openssl/openssl.git
perl Configure
*Configuring OpenSSL version 3.2.0-dev for target Cygwin-x86_64*
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created Makefile.in
Created Makefile
Created include/openssl/configuration.h
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
בתאריך יום א׳, 16 באוק׳ 2022 ב-17:55 מאת Michael Wojcik <
Michael.Wojcik at microfocus.com>:
> > From: openssl-users <openssl-users-bounces at openssl.org> On Behalf Of
> ???? ???
> > Sent: Saturday, 15 October, 2022 15:48
>
> > I have tried to build openssl using cygwin:
>
> > Both options starts compiling, but end up with error:
> > In file included from
> providers/implementations/storemgmt/winstore_store.c:27:
> > /usr/include/w32api/wincrypt.h:20:11: error: unknown type name 'LONG'
> > 20 | typedef LONG HRESULT;
> > Q: What am I missing here?
>
> Well, the version of OpenSSL you're using, for one thing. And what C
> implementation; there are various ones which can be used under Cygwin.
> Cygwin is an environment, not a build toolchain.
>
> I don't know if this is still true, or if it differs for 1.1.1 and 3.0;
> but historically there have been issues using Cygwin perl to build OpenSSL,
> because OpenSSL on Windows wants a perl implementation that uses
> Windows-style file paths. We use Strawberry Perl.
>
> That said, that error appears to be due to an issue with the Windows SDK
> headers, since it's the Windows SDK which should be typedef'ing LONG.
> (Because we wouldn't want Microsoft to use actual standard C type names,
> would we?) So this might be due to not having some macro defined when
> including the various Windows SDK headers.
>
> --
> Michael Wojcik
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mta.openssl.org/pipermail/openssl-users/attachments/20221017/dc760905/attachment-0001.htm>
-------------- next part --------------
Command line (with current working directory = .):
/usr/bin/perl ./Configure
Perl information:
/usr/bin/perl
5.32.1 for x86_64-cygwin-threads-multi
Enabled features:
aria
asm
async
autoalginit
autoerrinit
autoload-config
bf
blake2
bulk
cached-fetch
camellia
capieng
winstore
cast
chacha
cmac
cmp
cms
comp
ct
deprecated
des
dgram
dh
dsa
dso
dtls
dynamic-engine
ec
ec2m
ecdh
ecdsa
engine
err
filenames
gost
idea
legacy
loadereng
makedepend
md4
mdc2
module
multiblock
nextprotoneg
ocb
ocsp
padlockeng
pic
pinshared
poly1305
posix-io
psk
rc2
rc4
rdrand
rfc3779
rmd160
scrypt
secure-memory
seed
shared
siphash
siv
sm2
sm3
sm4
sock
srp
srtp
sse2
ssl
ssl-trace
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:
acvp-tests [cascade] OPENSSL_NO_ACVP_TESTS
afalgeng [not-linux] OPENSSL_NO_AFALGENG
asan [default] OPENSSL_NO_ASAN
buildtest-c++ [default]
crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
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
fips [default]
fips-securitychecks [cascade] OPENSSL_NO_FIPS_SECURITYCHECKS
fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ktls [default] OPENSSL_NO_KTLS
md2 [default] OPENSSL_NO_MD2 (skip crypto/md2)
msan [default] OPENSSL_NO_MSAN
quic [default] OPENSSL_NO_QUIC
rc5 [default] OPENSSL_NO_RC5 (skip crypto/rc5)
sctp [default] OPENSSL_NO_SCTP
tfo [default] OPENSSL_NO_TFO
trace [default] OPENSSL_NO_TRACE
ubsan [default] OPENSSL_NO_UBSAN
unit-test [default] OPENSSL_NO_UNIT_TEST
uplink [no uplink_arch] OPENSSL_NO_UPLINK
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 => "ar",
ARFLAGS => "qc",
CC => "gcc",
CFLAGS => "-Wall -O3",
HASHBANGPERL => "/usr/bin/env perl",
RANLIB => "ranlib",
RC => "windres",
asm_arch => "x86_64",
bn_ops => "SIXTY_FOUR_BIT_LONG",
build_file => "Makefile",
build_scheme => [ "unified", "unix" ],
cflags => "",
cppflags => "",
defines => [ "OPENSSL_BUILDING_OPENSSL" ],
disable => [ ],
dso_scheme => "dlfcn",
enable => [ ],
includes => [ ],
lflags => "",
lib_cflags => "",
lib_cppflags => "-DTERMIOS -DL_ENDIAN",
lib_defines => [ ],
module_cflags => "",
module_cxxflags => undef,
module_ldflags => "-shared -Wl,--enable-auto-image-base",
perl_platform => "Cygwin",
perlasm_scheme => "mingw64",
shared_cflag => "",
shared_cppflags => "-D_WINDLL",
shared_defines => [ ],
shared_impflag => "-Wl,--out-implib=",
shared_ldflag => "-shared -Wl,--enable-auto-image-base",
shared_rcflag => "",
shared_target => "cygwin-shared",
sys_id => "CYGWIN",
thread_defines => [ ],
thread_scheme => "pthread",
unistd => "<unistd.h>",
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 = ar
ARFLAGS = qc
CC = gcc
CFLAGS = -Wall -O3
CPPDEFINES =
CPPFLAGS =
CPPINCLUDES =
CXXFLAGS =
HASHBANGPERL = /usr/bin/env perl
LDFLAGS =
LDLIBS =
PERL = /usr/bin/perl
RANLIB = ranlib
RC = windres
RCFLAGS =
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/unix-Makefile.tmpl
More information about the openssl-users
mailing list