[PyQt] pyqtdeploy: Unable to compile openssl in Windows when attempting to build sysroot

Phil Thompson phil at riverbankcomputing.com
Thu Feb 8 16:22:39 GMT 2018


On 7 Feb 2018, at 3:56 pm, Neil Jansen <neil.jansen at rockwellcollins.com> wrote:
> 
> Apologies if this has been posted before.  I'm usually very self-sufficient with these sort of things, but I'm positively stuck at this point, and Google hasn't turned up much.
> 
> I'm trying to get the demo pyqtdeploy project working, but I'm stuck on the step where it's trying to compile openssl as a part of building sysroot.  The instructions / tutorials are VERY vague and leave a lot of interpretation up to the reader.  I'm not even 100% sure I'm using the right versions as there is no documentation on which dependency version(s) have been confirmed to work together.  I've posted a few snippets of the build window below.  I've struggled to get even this far, but now that it's to the point of failing with syntax errors in assembly language, I'm bailing out and need help at this point.   
> 
> Can anyone tell me if this is an easy fix?
> 
> Build machine:
> ------------------
> OS: Windows 7 Enterprise 64-bit
> Architecture: Intel Core i7-4790
> Memory: 16 GB
> 
> Build tools:
> ----------------
> Python version: Python 3.5.1
> Perl version: ActivePerl 5.6.1 Build 631
> Compiler suite: VS2015 x64, via 'VisualCppBuildTools_Full.exe' as obtained from http://landinghub.visualstudio.com/visual-cpp-build-tools
> pyqtdeploy version: 2.1 from pypi, per the instructions on this page: https://www.riverbankcomputing.com/software/pyqtdeploy/download
> 
> Dependencies:
> ---------------------
> pyqt5 source version: PyQt5_gpl-5.10.tar.gz
> openssl source version: openssl-1.0.2n.tar.gz, which I downloaded from the official site.
> 
> 
> --------------------------
>         cl /Fotmp32\fips_ers.obj  -Iinc32 -Itmp32 /MT /Ox -DOPENSSL_THREADS  -DDSO_W
> IN32 -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 -DRC4_ASM -DSHA1_ASM -DSHA256_ASM
> -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
>  -DECP_NISTZ256_ASM -DOPENSSL_NO_IDEA -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO
> _MDC2 -DOPENSSL_NO_SSL2 -DOPENSSL_NO_SSL3 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPE
> NSSL_NO_WEAK_SSL_CIPHERS -DOPENSSL_NO_DYNAMIC_ENGINE /Zl /Zi /Fdtmp32/lib -c .\crypt
> o\fips_ers.c
> fips_ers.c
>         set ASM=ml64 /c /Cp /Cx /Zi
>         perl crypto\x86_64cpuid.pl tmp32\x86_64cpuid.asm
>         ml64 /c /Cp /Cx /Zi /Fotmp32\x86_64cpuid.obj tmp32\x86_64cpuid.asm
> Microsoft (R) Macro Assembler (x64) Version 14.00.24210.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>  Assembling: tmp32\x86_64cpuid.asm
> tmp32\x86_64cpuid.asm(43) : error A2009:syntax error in expression
> tmp32\x86_64cpuid.asm(44) : error A2009:syntax error in expression
> tmp32\x86_64cpuid.asm(190) : error A2009:syntax error in expression
> tmp32\x86_64cpuid.asm(191) : error A2009:syntax error in expression
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\
> BIN\amd64\ml64.EXE"' : return code '0x1'
> Stop.
> Traceback (most recent call last):
>   File "c:\python35\lib\runpy.py", line 170, in _run_module_as_main
>     "__main__", mod_spec)
>   File "c:\python35\lib\runpy.py", line 85, in _run_code
>     exec(code, run_globals)
>   File "C:\Python35\Scripts\pyqtdeploy-sysroot.exe\__main__.py", line 9, in <module>
> 
>   File "c:\python35\lib\site-packages\pyqtdeploy\pyqtdeploysysroot_main.py", line 83
> , in main
>     sysroot.build_components(args.component, args.no_clean)
>   File "c:\python35\lib\site-packages\pyqtdeploy\sysroot\sysroot.py", line 103, in b
> uild_components
>     component.build(self)
>   File "c:\python35\lib\site-packages\pyqtdeploy\sysroot\plugins\openssl.py", line 9
> 6, in build
>     self._build_win(sysroot, common_options)
>   File "c:\python35\lib\site-packages\pyqtdeploy\sysroot\plugins\openssl.py", line 2
> 27, in _build_win
>     sysroot.run(sysroot.host_make, '-f', 'ms\\nt.mak')
>   File "c:\python35\lib\site-packages\pyqtdeploy\sysroot\sysroot.py", line 562, in r
> un
>     subprocess.check_call(args)
>   File "c:\python35\lib\subprocess.py", line 584, in check_call
>     raise CalledProcessError(retcode, cmd)
> subprocess.CalledProcessError: Command '('nmake', '-f', 'ms\\nt.mak')' returned non-
> zero exit status 2
> 
> 
> Any help would be greatly appreciated.

I can't reproduce this either with nasm or with ml64. However I have added a 'no_asm' configuration option.

Phil



More information about the PyQt mailing list