[PyQt] PyQtDeploy Sysroot issues

Phil Thompson phil at riverbankcomputing.com
Tue Apr 10 14:18:33 BST 2018


On 10 Apr 2018, at 2:13 pm, Kevin Kelly <kevin.kelly at sydaptic.com> wrote:
> 
> I did find a PC that still had Visual Studio 2015 installed so I tried that.  I'm using Python 3.5.2 here but didn't think that would make a huge difference.  Here's the error I got.  
> 
> Info: creating stash file D:\demo\sysroot-win-32\build\Python-3.5.2\.qmake.stash
> Project ERROR: Cannot run compiler 'cl'. Output:
> ===================
> ===================
> Maybe you forgot to setup the environment?

So, the same as your original problem, not using the correct command shell.

> Traceback (most recent call last):
>  File "c:\program files (x86)\python35-32\lib\runpy.py", line 184, in _run_module_as_main
>    "__main__", mod_spec)
>  File "c:\program files (x86)\python35-32\lib\runpy.py", line 85, in _run_code
>    exec(code, run_globals)
>  File "C:\Program Files (x86)\Python35-32\Scripts\pyqtdeploy-sysroot.exe\__main__.py", line 9, in <module>
>  File "c:\program files (x86)\python35-32\lib\site-packages\pyqtdeploy\pyqtdeploysysroot_main.py", line 83, in main
>    sysroot.build_components(args.component, args.no_clean)
>  File "c:\program files (x86)\python35-32\lib\site-packages\pyqtdeploy\sysroot\sysroot.py", line 103, in build_components
>    component.build(self)
>  File "c:\program files (x86)\python35-32\lib\site-packages\pyqtdeploy\sysroot\plugins\python\python.py", line 99, in build
>    self._build_target_from_source(sysroot, archive)
>  File "c:\program files (x86)\python35-32\lib\site-packages\pyqtdeploy\sysroot\plugins\python\python.py", line 201, in _build_target_from_source
>    sysroot.run(sysroot.host_qmake, 'SYSROOT=' + sysroot.sysroot_dir)
>  File "c:\program files (x86)\python35-32\lib\site-packages\pyqtdeploy\sysroot\sysroot.py", line 562, in run
>    subprocess.check_call(args)
>  File "c:\program files (x86)\python35-32\lib\subprocess.py", line 581, in check_call
>    raise CalledProcessError(retcode, cmd)
> subprocess.CalledProcessError: Command '('C:\\Qt510\\5.10.1\\msvc2015\\bin\\qmake.exe', 'SYSROOT=D:\\demo\\sysroot-win-32')' returned non-zero exit status 3
> 
> When I went back to my original PC and tried changing back to VS2017 and using the source of Qt MSVC2017_64, I got this error.
> 
> Freezing G:\Code\demo\sysroot-win-32\lib\python3.6\site-packages\PyQt5\__init__.py...
> Info: creating stash file G:\Code\demo\build-win-32\.qmake.stash
> 
> Microsoft (R) Program Maintenance Utility Version 14.11.25508.2
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>        "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\nmake.exe" -f Makefile.Release
> 
> Microsoft (R) Program Maintenance Utility Version 14.11.25508.2
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 
>        C:\Qt\5.10.1\msvc2017_64\bin\rcc.exe -name pyqtdeploy resources\pyqtdeploy.qrc -o release\qrc_pyqtdeploy.cpp
>        cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W0 -EHsc -D_UNICODE -DWIN32 -DPYQTDEPLOY_FROZEN_MAIN -DPYQTDEPLOY_OPTIMIZED -DPy_BUILD_CORE -DMS_WINDOWS -D_WIN32_WINNT=Py_WINVER -DNTDDI_VERSION=Py_NTDDI -DWINVER=Py_WINVER -DQT_NO_DEBUG -DQT_WINEXTRAS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG -I. -I..\sysroot-win-32\include\python3.6 -I..\sysroot-win-32\src\Python-3.6.4\Modules -I..\sysroot-win-32\src\Python-3.6.4\PC -IC:\Qt\5.10.1\msvc2017_64\include -IC:\Qt\5.10.1\msvc2017_64\include\QtWinExtras -IC:\Qt\5.10.1\msvc2017_64\include\QtWidgets -IC:\Qt\5.10.1\msvc2017_64\include\QtGui -IC:\Qt\5.10.1\msvc2017_64\include\QtANGLE -IC:\Qt\5.10.1\msvc2017_64\include\QtNetwork -IC:\Qt\5.10.1\msvc2017_64\include\QtCore -Irelease -I\include -IC:\Qt\5.10.1\msvc2017_64\mkspecs\win32-msvc -Forelease\ @C:\Users\Kevin\AppData\Local\Temp\nm8BBE.tmp
> pyqtdeploy_main.cpp
> pyqtdeploy_start.cpp
> pdytools_module.cpp
> Generating Code...
>        cl -c -nologo -Zc:wchar_t -FS -Zc:strictStrings -O2 -MD -W0 -D_UNICODE -DWIN32 -DPYQTDEPLOY_FROZEN_MAIN -DPYQTDEPLOY_OPTIMIZED -DPy_BUILD_CORE -DMS_WINDOWS -D_WIN32_WINNT=Py_WINVER -DNTDDI_VERSION=Py_NTDDI -DWINVER=Py_WINVER -DQT_NO_DEBUG -DQT_WINEXTRAS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG -I. -I..\sysroot-win-32\include\python3.6 -I..\sysroot-win-32\src\Python-3.6.4\Modules -I..\sysroot-win-32\src\Python-3.6.4\PC -IC:\Qt\5.10.1\msvc2017_64\include -IC:\Qt\5.10.1\msvc2017_64\include\QtWinExtras -IC:\Qt\5.10.1\msvc2017_64\include\QtWidgets -IC:\Qt\5.10.1\msvc2017_64\include\QtGui -IC:\Qt\5.10.1\msvc2017_64\include\QtANGLE -IC:\Qt\5.10.1\msvc2017_64\include\QtNetwork -IC:\Qt\5.10.1\msvc2017_64\include\QtCore -Irelease -I\include -IC:\Qt\5.10.1\msvc2017_64\mkspecs\win32-msvc -Forelease\ @C:\Users\Kevin\AppData\Local\Temp\nm94B7.tmp
> _heapqmodule.c
> _math.c
> _winapi.c
> mathmodule.c
> selectmodule.c
> timemodule.c
> Generating Code...
>        cl -c -nologo -Zc:wchar_t -FS -Zc:strictStrings -O2 -MD -W0 -D_UNICODE -DWIN32 -DPYQTDEPLOY_FROZEN_MAIN -DPYQTDEPLOY_OPTIMIZED -DPy_BUILD_CORE -DMS_WINDOWS -D_WIN32_WINNT=Py_WINVER -DNTDDI_VERSION=Py_NTDDI -DWINVER=Py_WINVER -DQT_NO_DEBUG -DQT_WINEXTRAS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG -I. -I..\sysroot-win-32\include\python3.6 -I..\sysroot-win-32\src\Python-3.6.4\Modules -I..\sysroot-win-32\src\Python-3.6.4\PC -IC:\Qt\5.10.1\msvc2017_64\include -IC:\Qt\5.10.1\msvc2017_64\include\QtWinExtras -IC:\Qt\5.10.1\msvc2017_64\include\QtWidgets -IC:\Qt\5.10.1\msvc2017_64\include\QtGui -IC:\Qt\5.10.1\msvc2017_64\include\QtANGLE -IC:\Qt\5.10.1\msvc2017_64\include\QtNetwork -IC:\Qt\5.10.1\msvc2017_64\include\QtCore -Irelease -I\include -IC:\Qt\5.10.1\msvc2017_64\mkspecs\win32-msvc -Forelease\ @C:\Users\Kevin\AppData\Local\Temp\nm98A0.tmp
> msvcrtmodule.c
>        cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -O2 -MD -W0 -EHsc -D_UNICODE -DWIN32 -DPYQTDEPLOY_FROZEN_MAIN -DPYQTDEPLOY_OPTIMIZED -DPy_BUILD_CORE -DMS_WINDOWS -D_WIN32_WINNT=Py_WINVER -DNTDDI_VERSION=Py_NTDDI -DWINVER=Py_WINVER -DQT_NO_DEBUG -DQT_WINEXTRAS_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG -I. -I..\sysroot-win-32\include\python3.6 -I..\sysroot-win-32\src\Python-3.6.4\Modules -I..\sysroot-win-32\src\Python-3.6.4\PC -IC:\Qt\5.10.1\msvc2017_64\include -IC:\Qt\5.10.1\msvc2017_64\include\QtWinExtras -IC:\Qt\5.10.1\msvc2017_64\include\QtWidgets -IC:\Qt\5.10.1\msvc2017_64\include\QtGui -IC:\Qt\5.10.1\msvc2017_64\include\QtANGLE -IC:\Qt\5.10.1\msvc2017_64\include\QtNetwork -IC:\Qt\5.10.1\msvc2017_64\include\QtCore -Irelease -I\include -IC:\Qt\5.10.1\msvc2017_64\mkspecs\win32-msvc -Forelease\ @C:\Users\Kevin\AppData\Local\Temp\nm99EA.tmp
> qrc_pyqtdeploy.cpp
>        link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:release\pyqt-demo.exe @C:\Users\Kevin\AppData\Local\Temp\nm9B90.tmp
> Qt5WinExtras.lib(Qt5WinExtras.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'

As it says, you are trying to compile a 32-bit executable using 64-bit libraries. Again, are you using the correct command shell?

> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\link.EXE"' : return code '0x458'
> Stop.
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\HostX86\x86\nmake.exe"' : return code '0x2'
> Stop.
> 
> 
> Again, not sure if my setup is correct or if I am just missing something.  Any tips?

Phil


More information about the PyQt mailing list