Skip to content

Unable to build with Python 3.7.6 #10696

@feerrenrut

Description

@feerrenrut

Steps to reproduce:

Install Python 3.7.6 and try to rebuild NVDA (from clean working directory)

Actual behavior:

We have had several reports of errors ending with: TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.

Expected behavior:

Build should complete successfully.

System configuration

NVDA installed/portable/running from source:

Source

NVDA version:

Windows version:

Name and version of other software in use when reproducing the issue:

Python 3.7.6
Reverting to 3.7.5 seems to result in a successful build.

Error:

c:\nvda>scons source
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
interfaceAction(["source\comInterfaces\AcrobatAccessLib.py", "source\comInterfaces\__pycache__\AcrobatAccessLib.cpython-37.pyc"], ["source\typelibs\AcrobatAccess.tlb"])
scons: *** [source\comInterfaces\AcrobatAccessLib.py] TypeError : item 2 in _argtypes_ passes a union by value, which is unsupported.
Traceback (most recent call last):
  File "C:\Python37-32\lib\ctypes\__init__.py", line 121, in WINFUNCTYPE
    return _win_functype_cache[(
restype, argtypes, flags)]
KeyError: (<class 'ctypes.HRESULT'>, (<class 'ctypes.c_long'>, <class 'comtypes.automation.tagVARIANT'>), 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\nvda\include\scons\src\engine\SCons\Action.py", line 1202, in execute
    result = self.execfunction(target=target, source=rsources, env=env)
  File "C:\nvda\source\comInterfaces_sconscript", line 35, in interfaceAction
    comtypes.client.GetModule(source)
  File "c:\nvda\include\comtypes\comtypes\client\_generate.py", line 110, in GetModule
    mod = _CreateWrapper(tlib, pathname)
  File "c:\nvda\include\comtypes\comtypes\client\_generate.py", line 184, in _CreateWrapper
    mod = _my_import(fullname)
  File "C:\nvda\source\comInterfaces_sconscript", line 26, in new_my_import
    return old_my_import(fullname)
  File "c:\nvda\include\comtypes\comtypes\client\_generate.py", line 24, in _my_import
    return __import__(fullname, globals(), locals(), ['DUMMY'])
  File "C:\nvda\source\comInterfaces\_C523F390_9C83_11D3_9094_00104BD0D535_0_3_0.py", line 353, in <module>
    ( ['in'], VARIANT, 'value' )),
  File "c:\nvda\include\comtypes\comtypes\__init__.py", line 329, in __setattr__
    self._make_methods(value)
  File "c:\nvda\include\comtypes\comtypes\__init__.py", line 698, in _make_methods
    prototype = WINFUNCTYPE(restype, *argtypes)
  File "C:\Python37-32\lib\ctypes\__init__.py", line 123, in WINFUNCTYPE
    class WinFunctionType(_CFuncPtr):
TypeError: item 2 in _argtypes_ passes a union by value, which is unsupported.
scons: building terminated because of errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugp2https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions