openssl: nmake test on Windows 11: 10-test_exp.t Can't spawn "..\..\test\exptest.exe": No such file or directory
I am trying to build openssl on Windows 11, using Strawberry Perl version 5.32.1, and “x64 Native Tools Command Prompt for VS 2022”:
>git clone https://github.com/openssl/openssl.git
>cd openssl
>perl Configure
Configuring OpenSSL version 3.2.0-dev for target VC-WIN64A
Using os-specific seed configuration
Created configdata.pm
Running configdata.pm
Created makefile.in
Created makefile
Created include\openssl\configuration.h
**********************************************************************
*** ***
*** OpenSSL has been successfully configured ***
*** ***
*** If you encounter a problem while building, please open an ***
*** issue on GitHub <https://github.com/openssl/openssl/issues> ***
*** and include the output from the following command: ***
*** ***
*** perl configdata.pm --dump ***
*** ***
*** (If you are new to OpenSSL, you might want to consult the ***
*** 'Troubleshooting' section in the INSTALL.md file first) ***
*** ***
**********************************************************************
>nmake
>nmake test
Microsoft (R) Program Maintenance Utility Version 14.33.31630.0
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\nmake.exe" / depend
Microsoft (R) Program Maintenance Utility Version 14.33.31630.0
Copyright (C) Microsoft Corporation. All rights reserved.
"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64\nmake.exe" / _tests
Microsoft (R) Program Maintenance Utility Version 14.33.31630.0
Copyright (C) Microsoft Corporation. All rights reserved.
IF EXIST .manifest DEL /F /Q .manifest
IF EXIST libssl-3-x64.dll DEL /F /Q libssl-3-x64.dll
cmd /C ""link" /nologo /debug /dll /nologo /debug @C:\Users\hakon\AppData\Local\Temp\nm8A4.tmp /implib:libssl.lib || (DEL /Q libssl-3-x64.* libssl.lib & EXIT 1)"
LINK : libssl-3-x64.dll not found or not built by the last incremental link; performing full link
Creating library libssl.lib and object libssl.exp
IF EXIST libssl-3-x64.dll.manifest "mt" -nologo -manifest libssl-3-x64.dll.manifest -outputresource:libssl-3-x64.dll
IF EXIST apps\libssl-3-x64.dll DEL /Q /F apps\libssl-3-x64.dll
IF EXIST test\libssl-3-x64.dll DEL /Q /F test\libssl-3-x64.dll
IF EXIST fuzz\libssl-3-x64.dll DEL /Q /F fuzz\libssl-3-x64.dll
[...]
@C:\Users\hakon\AppData\Local\Temp\nmFA0.tmp || (DEL /Q legacy.* providers\legacy.* & EXIT 1)"
IF EXIST providers\legacy.dll.manifest "mt" -nologo -manifest providers\legacy.dll.manifest -outputresource:providers\legacy.dll
cmd /C "set "SRCTOP=." & set "BLDTOP=." & set "PERL=C:\Strawberry\perl\bin\perl.exe" & set "FIPSKEY=f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813" & "C:\Strawberry\perl\bin\perl.exe" ".\test\run_tests.pl" "
00-prep_fipsmodule_cnf.t .. skipped: FIPS module config file only supported in a fips build
Files=1, Tests=0, 1 wallclock secs ( 0.02 usr + 0.02 sys = 0.03 CPU)
Result: NOTESTS
01-test_abort.t .................... ok
01-test_fipsmodule_cnf.t ........... skipped: Test only supported in a fips build
01-test_sanity.t ................... ok
01-test_symbol_presence.t .......... skipped: This is unsupported on MSYS, MinGW or MSWin32
01-test_test.t ..................... ok
02-test_errstr.t ................... skipped: This is unsupported on MSYS/MinGW or MSWin32
02-test_internal_context.t ......... ok
02-test_internal_ctype.t ........... ok
02-test_internal_exts.t ............ ok
02-test_internal_keymgmt.t ......... ok
02-test_internal_provider.t ........ ok
02-test_lhash.t .................... ok
02-test_list.t ..................... ok
02-test_localetest.t ............... skipped: Locale tests not available on Windows or VMS
02-test_ordinals.t ................. ok
02-test_priority_queue.t ........... skipped: No priority queues tests without QUIC
02-test_sparse_array.t ............. ok
02-test_stack.t .................... ok
03-test_exdata.t ................... ok
03-test_fipsinstall.t .............. skipped: Test only supported in a fips build
03-test_internal_asn1.t ............ ok
03-test_internal_asn1_dsa.t ........ ok
03-test_internal_bn.t .............. skipped: This test is unsupported in a shared library build on Windows
[...]
06-test_algorithmid.t .............. ok
06-test_rdcpu_sanity.t ............. ok
07-test_bio_comp.t ................. skipped: No compression algorithms
10-test_bn.t ....................... ok
10-test_exp.t ......................
Can't spawn "..\..\test\exptest.exe": No such file or directory at ..\..\util\wrap.pl line 54.
C:\Strawberry\perl\bin\perl.exe ..\..\util\wrap.pl ..\..\test\exptest.exe => 255
not ok 1 - running exptest
10-test_exp.t ...................... 1/? ---------------------------------------
# Failed test 'running exptest'
# at C:\Users\hakon\test\openssl\openssl\util\perl/OpenSSL/Test/Simple.pm line 77.
10-test_exp.t ...................... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/1 subtests
15-test_dh.t ....................... ok
15-test_dsa.t ...................... ok
15-test_dsaparam.t ................. ok
15-test_ec.t ....................... ok
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 20 (9 by maintainers)
It is reproducible with 2.16rc10 as well, I filled a bug report: https://bugzilla.nasm.us/show_bug.cgi?id=3392824 .
… which is recommended anyway for now, since that’s a stable release. That is, unless you intended to experiment with the bleeding edge 😉 (and I’m sure the NASM folks are grateful for these sorts of experiments)
@hakonhagland, NASM 2.16rc9 could be the issue. It emits bad opcodes, look at the diff with the objdump output from 2.15.05.