Dont know if this was mentioned before, but last time I needed to build
OpenSSL on Windows, I ran into this fairly easily reproducible. Using a
stock 1.0.c source, IF
I added a redirect like nmake -f ms/ntdll.mk > make.log
I almost always got this and similar errors. If I did not redirect the output
from nmake
I usually did not get the error. BTW, was using a recent version of ActiveState
Perl.
Just a data point.

>-- Original Message --
>Subject: Re: [openssl.org #2963] Windows build bug (perl/nasm race) on
OpenSSL
>1.0.0c
>From: "Andy Polyakov via RT" <[email protected]>
>To: [email protected]
>Cc: [email protected]
>Date: Mon, 21 Jan 2013 21:31:45 +0100
>Reply-To: [email protected]
>
>
>> We've been having regular build problems on Windows (with OpenSSL 1.0.0c,
>though it looks like the problem also exists in git head from 2013-01-10):
>sometimes nasm claims there are unresolved symbols. For example:
>>      set ASM=nasm -f win64 -DNEAR -Ox -g
>>      perl crypto\x86_64cpuid.pl tmp32dll.dbg\x86_64cpuid.asm
>>
>>      nasm -f win64 -DNEAR -Ox -g -o tmp32dll.dbg\x86_64cpuid.obj 
>> tmp32dll.dbg\x86_64cpuid.asm
>>  tmp32dll.dbg\x86_64cpuid.asm:4: error: symbol `OPENSSL_cpuid_setup'
undefined
>>  tmp32dll.dbg\x86_64cpuid.asm:17: error: symbol `L$spin' undefined
>>  tmp32dll.dbg\x86_64cpuid.asm:53: error: symbol `L$intel' undefined
>>  tmp32dll.dbg\x86_64cpuid.asm:64: error: symbol `L$intel' undefined
>>
>> ...
>>
>> NMAKE : fatal error U1077: '"C:\Program Files (x86)\nasm\nasm.EXE"' :
return
>code '0x1'
>> Stop.
>>
>> I suspect the problem is line 10 of x86_64cpuid.pl (this is one instance
>- the style is repeated in several files):
>
>This problem was discussed multiple times and so far suggestion was
>switch off antivirus (Microsoft Defender is most recognized to be
>culprit) and use "matching" perl (e.g. it would inappropriate to use
>cygwin perl in this case).
>
>> open STDOUT,"| \"$^X\" $xlate $flavour $output";
>
>If you can reproduce the problem 100%, try to replace above line with
>following:
>
>open FD,"| \"$^X\" $xlate $flavour $output";
>*STDOUT=*FD;
>
>If it doesn't help, try further to replace 'close STDOUT;' at the end of
>
>file with 'close FD;'
>
>If it doesn't help, try further to
>
>$xlate_pid=open FD,"| \"$^X\" $xlate $flavour $output";
>
>and then add 'waitpid $xlate_pid,0;' *after* 'close FD;'
>
>> On Windows pipes work differently than on Unix, so I think the script
is
>quitting before the pipe gets run.
>
>It's not pipes, but Perl problem.
>
>> Someone reported the same problem on the nasm mailing list a couple of
>years ago: 
>http://old.nabble.com/nasm-intermittently-fails-to-assemble-a-file-td29947144.html
>:
>>
>> "I tried that (with a custom clone of cat, since cat is not a standard
>
>> binary on Windows and a ported cat would barf at the other commandline
>
>> args anyway), and it showed that the .asm file was either empty or
>> missing when "nasm.exe" started."
>
>Boy, that was wrong forum to report the problem, nasm-users...
>
>
>
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>Development Mailing List                       [email protected]
>Automated List Manager                           [email protected]


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to