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.woj...@microfocus.com>: > > From: openssl-users <openssl-users-boun...@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 >
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