Hello,

 

RichSalz suggested I’d send you email about issue I’ve discovered: 
https://github.com/openssl/openssl/issues/174

There is a repeatable problem with building of openssl cloned with GIT on 
Windows. 
When source comes from official distribution all line endings are preserved and 
remain normal Unix style endings. But when git clones repository it may convert 
these into windows style endings.
MinGW comes bundled with pretty outdated Perl (5.8.8 if memory serves...) which 
could get confused by these different styles and produce unexpected behavior. 
This is what happening during execution of Configure script. When ignored 
ciphers are determined this code is executed:

    if ($sdirs) {

        my $dir;

        foreach $dir (@skip) {

            s/(\s)$dir /$1/;

            s/\s$dir$//;

            }

        }

    $sdirs = 0 unless /\\$/;

In code $sdirs = 0 unless /\$/; under normal circumstances pattern /\$/ returns 
1 if it is still processing these directories but if line ending is not normal 
Unix style it will return nothing and allow $sdirs = 0. So only the first line 
of SDIRS= \ gets processed and the rest ... objects \ md2 md4 md5 sha mdc2 hmac 
ripemd whrlpool \ … is skipped.

Result of this error is a Makefile which is trying to process ALL ciphers 
disregarding no-cipher attributes and will produce this error:

gcc -I.. -I../.. -I../asn1 -I../evp -I../../include  -DOPENSSL_THREADS 

-DDSO_WIN32 -mno-cygwin -DL_ENDIAN -DOPENSSL_NO_CAPIENG 

-fomit-frame-pointer -O3 -march=i486 -Wall -DOPENSSL_BN_ASM_PART_WORDS 

-DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM 

-DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DWHIRLPOOL_ASM   -c -o 

md2_dgst.o md2_dgst.c 

In file included from md2_dgst.c:62: 

../../include/openssl/md2.h:64:2: #error MD2 is disabled. 

make[2]: *** [md2_dgst.o] Error 1 

make[2]: Leaving directory 

 

 

 

 

As Rich Salz suggested putting "$/= "\r\n"; at the top of the Perl script fixes 
it. Would you like me to send you a diff file or you could just add this one 
line on your own?

Also, while at it, could you add few items to the ignore file. 
https://github.com/openssl/openssl/pull/165

 


+/ms/*.rc


+/ms/*.def


+/ms/*.mak


+/inc32


+/out32*


+/tmp32*


+/ms/uptable.*

 

These are generated during build on Windows and mark repo as dirty.

 

Best regards,

Eugene

 

From: Rich Salz [mailto:notificati...@github.com] 
Sent: Thursday, September 11, 2014 1:59 PM
To: openssl/openssl
Cc: Eugene Sadovoi
Subject: Re: [openssl] Build on Windows fails if cloned with git (#174)

 

Please send email to r...@openssl.org 
<mailto:r...@openssl.org%3cmailto:r...@openssl.org> <mailto:r...@openssl.org> 

We don’t really follow pull requests yet. 

-- 
Principal Security Engineer, Akamai Technologies 
IM: rs...@jabber.me <mailto:rs...@jabber.me%3cmailto:rs...@jabber.me> 
<mailto:rs...@jabber.me> Twitter: RichSalz 

From: Eugene Sadovoi [mailto:notificati...@github.com] 
Sent: Thursday, September 11, 2014 1:58 PM 
To: openssl/openssl 
Cc: Salz, Rich 
Subject: Re: [openssl] Build on Windows fails if cloned with git (#174) 


Should I create a pull request or will you fix it? 

— 
Reply to this email directly or view it on 
GitHub<https://github.com/openssl/openssl/issues/174#issuecomment-55302697>. 



—
Reply to this email directly or view it on GitHub 
<https://github.com/openssl/openssl/issues/174#issuecomment-55302944> .  
<https://github.com/notifications/beacon/1750155__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcyNjA3NzU2NiwiZGF0YSI6eyJpZCI6NDIxNTg2MzZ9fQ==--891659c01f8fbc798ca074f0cdef38b807bc18f3.gif>
 


Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to