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):

open STDOUT,"| \"$^X\" $xlate $flavour $output";

On Windows pipes work differently than on Unix, so I think the script is 
quitting before the pipe gets run.

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."

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

Reply via email to