[openssl-users] MinGW64 / MSYS2 and ./Configure : use of Windows style path causing failures to 'make'

Richard Levitte levitte at openssl.org
Tue Dec 27 19:25:33 UTC 2016


In message <1733025605.2034908.1482816244923 at mail.yahoo.com> on Tue, 27 Dec 2016 05:24:04 +0000 (UTC), "Ron Gaw <ronmlgaw at yahoo dot com>" <ronmlgaw at yahoo.com> said:

ronmlgaw> I am using a MinGW64 / MSYS2 environment to compile OpenSSL1.1.0c, but
ronmlgaw> failing consistently after multiple attempts with a few variations
ronmlgaw> each attempt (including deleting entire source directory and
ronmlgaw> re-untar/ungzipping). I believe there's something wrong either with my
ronmlgaw> environment settings or ./Configure options. This is the output of .
ronmlgaw> /Configure after setting only the CFLAGS env var:
ronmlgaw> 
ronmlgaw> $ export "CFLAGS=-03"
ronmlgaw> $ ./Configure mingw64 --prefix=/usr/local zlib shared
ronmlgaw> Configuring OpenSSL version 1.1.0c (0x1010003fL)
ronmlgaw> no-asan [default] OPENSSL_NO_ASAN
ronmlgaw> no-crypto-mdebug [default] OPENSSL_NO_CRYPTO_MDEBUG
ronmlgaw> no-crypto-mdebug-backtrace [default]
ronmlgaw> OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE
ronmlgaw> no-ec_nistp_64_gcc_128 [default] OPENSSL_NO_EC_NISTP_64_GCC_128
ronmlgaw> no-egd [default] OPENSSL_NO_EGD
ronmlgaw> no-fuzz-afl [default] OPENSSL_NO_FUZZ_AFL
ronmlgaw> no-fuzz-libfuzzer [default] OPENSSL_NO_FUZZ_LIBFUZZER
ronmlgaw> no-heartbeats [default] OPENSSL_NO_HEARTBEATS
ronmlgaw> no-md2 [default] OPENSSL_NO_MD2 (skip dir)
ronmlgaw> no-msan [default] OPENSSL_NO_MSAN
ronmlgaw> no-rc5 [default] OPENSSL_NO_RC5 (skip dir)
ronmlgaw> no-sctp [default] OPENSSL_NO_SCTP
ronmlgaw> no-ssl-trace [default] OPENSSL_NO_SSL_TRACE
ronmlgaw> no-ssl3 [default] OPENSSL_NO_SSL3
ronmlgaw> no-ssl3-method [default] OPENSSL_NO_SSL3_METHOD
ronmlgaw> no-ubsan [default] OPENSSL_NO_UBSAN
ronmlgaw> no-unit-test [default] OPENSSL_NO_UNIT_TEST
ronmlgaw> no-weak-ssl-ciphers [default] OPENSSL_NO_WEAK_SSL_CIPHERS
ronmlgaw> no-zlib-dynamic [default]
ronmlgaw> Configuring for mingw64
ronmlgaw> CC =gcc
ronmlgaw> CFLAG =-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -
ronmlgaw> Wall -O3 -D_MT
ronmlgaw> SHARED_CFLAG =-D_WINDLL
ronmlgaw> DEFINES =ZLIB DSO_WIN32 NDEBUG OPENSSL_THREADS
ronmlgaw> OPENSSL_NO_STATIC_ENGINE OPENSSL_PIC OPENSSL_IA32_SSE2
ronmlgaw> OPENSSL_BN_ASM_MONT OPENSSL_BN_ASM_MONT5 OPENSSL_BN_ASM_GF2m SHA1_ASM
ronmlgaw> SHA256_ASM SHA512_ASM RC4_ASM MD5_ASM AES_ASM VPAES_ASM BSAES_ASM
ronmlgaw> GHASH_ASM ECP_NISTZ256_ASM POLY1305_ASM
ronmlgaw> LFLAG =
ronmlgaw> PLIB_LFLAG =
ronmlgaw> EX_LIBS =-lz -lws2_32 -lgdi32 -lcrypt32
ronmlgaw> APPS_OBJ =win32_init.o
ronmlgaw> CPUID_OBJ =x86_64cpuid.o
ronmlgaw> UPLINK_OBJ =
ronmlgaw> BN_ASM =asm/x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o
ronmlgaw> rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
ronmlgaw> EC_ASM =ecp_nistz256.o ecp_nistz256-x86_64.o
ronmlgaw> DES_ENC =des_enc.o fcrypt_b.o
ronmlgaw> AES_ENC =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o
ronmlgaw> aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
ronmlgaw> BF_ENC =bf_enc.o
ronmlgaw> CAST_ENC =c_enc.o
ronmlgaw> RC4_ENC =rc4-x86_64.o rc4-md5-x86_64.o
ronmlgaw> RC5_ENC =rc5_enc.o
ronmlgaw> MD5_OBJ_ASM =md5-x86_64.o
ronmlgaw> SHA1_OBJ_ASM =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o
ronmlgaw> sha1-mb-x86_64.o sha256-mb-x86_64.o
ronmlgaw> RMD160_OBJ_ASM=
ronmlgaw> CMLL_ENC =cmll-x86_64.o cmll_misc.o
ronmlgaw> MODES_OBJ =ghash-x86_64.o aesni-gcm-x86_64.o
ronmlgaw> PADLOCK_OBJ =e_padlock-x86_64.o
ronmlgaw> CHACHA_ENC =chacha-x86_64.o
ronmlgaw> POLY1305_OBJ =poly1305-x86_64.o
ronmlgaw> BLAKE2_OBJ =
ronmlgaw> PROCESSOR =
ronmlgaw> RANLIB =ranlib
ronmlgaw> ARFLAGS =
ronmlgaw> PERL =C:\msys64\mingw64\bin\perl.exe

The PERL definition is a bit odd for a mingw perl.  That path comes
from the perl variable $^X.

In my MSYS2/Mingw64 shell, I get this:

    Richard at OSFWin7 MINGW64 ~
    $ type perl
    perl is hashed (/usr/bin/perl)
    
    Richard at OSFWin7 MINGW64 ~
    $ perl -v
    
    This is perl 5, version 22, subversion 1 (v5.22.1) built for i686-msys-thread-multi-64int
    
    Copyright 1987-2015, Larry Wall
    
    Perl may be copied only under the terms of either the Artistic License or the
    GNU General Public License, which may be found in the Perl 5 source kit.
    
    Complete documentation for Perl, including FAQ lists, should be found on
    this system using "man perl" or "perldoc perl".  If you have access to the
    Internet, point your browser at http://www.perl.org/, the Perl Home Page.
    
    
    Richard at OSFWin7 MINGW64 ~
    $ perl -e 'print $^X,"\n";'
    perl

So the question is, what perl do you use?  From your output, I'd say
it isn't the mingw64 one...

ronmlgaw> SIXTY_FOUR_BIT mode
ronmlgaw> 
ronmlgaw> Configured for mingw64.

    Richard at OSFWin7 MINGW64 ~/gitwrk/openssl.org/official/_build
    $ ../master/Configure mingw64 --prefix=/usr/local zlib shared 
    
    Configuring OpenSSL version 1.1.0c (0x1010003fL)
        no-asan         [default]  OPENSSL_NO_ASAN
        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-dynamic [default] 
    Configuring for mingw64
    CC            =gcc
    CFLAG         =-DL_ENDIAN -DWIN32_LEAN_AND_MEAN -DUNICODE -D_UNICODE -m64 -Wall -O3 -D_MT 
    SHARED_CFLAG  =-D_WINDLL
    DEFINES       =ZLIB 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 POLY1305_ASM
    LFLAG         =
    PLIB_LFLAG    =
    EX_LIBS       =-lz -lws2_32 -lgdi32 -lcrypt32 
    APPS_OBJ      =win32_init.o
    CPUID_OBJ     =x86_64cpuid.o
    UPLINK_OBJ    =
    BN_ASM        =asm/x86_64-gcc.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        =ranlib
    ARFLAGS       =
    PERL          =perl
    
    SIXTY_FOUR_BIT mode
    
    Configured for mingw64.
    
Cheers,
Richard


More information about the openssl-users mailing list