FIPS compile issue with Perl on Windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I am currently trying to setup an automated build process for a cloned copy of the code.  I can run through the process manually by issuing all the commands required from a command line without issue.  If I then take all these commands and put them into a CI job using Jenkins, I then see the following type of error...
set ASM=ml64 /c /Cp /Cx /Zi
	perl crypto\modes\asm\ghash-x86_64.pl tmp32dll\ghash-x86_64.asm
	perl util\fipsas.pl . tmp32dll\ghash-x86_64.asm norunasm /MD /Ox -DOPENSSL_FIPSCANISTER -DOPENSSL_THREADS  -DDSO_WIN32 -W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DOPENSSL_USE_APPLINK -I. -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_FIPS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_STATIC_ENGINE
	ml64 /c /Cp /Cx /Zi /Fotmp32dll\ghash-x86_64.obj tmp32dll\ghash-x86_64.asm
 Assembling: tmp32dll\ghash-x86_64.asm
tmp32dll\ghash-x86_64.asm(868
tmp32dll\ghash-x86_64.asm(868) : error A2008:syntax errortmp32dll\ghash-x86_64.asm(1012)e
tmp32dll\ghash-x86_64.asm(1012) : fatal error A1010:unmatched block nesting : gcm_gMicrosoft (R) Macro Assembler (x64) Version 14.00.23026.0
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\ml64.EXE"' : return code '0x1'

I have done some digging and I am sure I am running into the issue discussed here...
https://rt.openssl.org/Ticket/Display.html?id=2963&user=guest&pass=guest

This is to do with Perl not being able to flush the STDOUT pipe to disk fast enough before the ml compiler tries to pick the ASM file up.

In the link mentioned, it is talked about modifying the perl script to change how STDOUT works, however when you are compiling FIPS you aren't meant to modify the code shipped in the tarball, so how does one work around this issue apart from just compiling the code manually all the time?

I am running Visual Studio 2015 and ActivePerl-5.22.1.2201-MSWin32-x64-299574, and I am trying to compile openssl-1.0.2g and openssl-fips-2.0.12.

Thanks



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux