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]