sip 6.8.0+: AttributeError: 'WrappedClass' object has no attribute 'original_typedef'

Phil Thompson phil at riverbankcomputing.com
Fri Dec 8 13:50:32 GMT 2023


On 08/12/2023 00:57, Scott Talbert wrote:
> On Tue, 5 Dec 2023, Phil Thompson wrote:
> 
>>> Hi Phil,
>>> 
>>> Trying to build wxPython with sip 6.8.0+ (latest snapshot), I'm
>>> running into this Traceback:
>>> 
>>> Generating the _propgrid bindings...
>>> sip-build: An internal error occurred...
>>> Traceback (most recent call last):
>>>   File "/opt/hostedtoolcache/Python/3.12.0/x64/bin/sip-build", line 
>>> 8,
>>> in <module>
>>>     sys.exit(main())
>>>              ^^^^^^
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/tools/build.py",
>>> line 37, in main
>>>     handle_exception(e)
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/exceptions.py",
>>> line 83, in handle_exception
>>>     raise e
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/tools/build.py",
>>> line 34, in main
>>>     project.build()
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/project.py",
>>> line 245, in build
>>>     self.builder.build()
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/builder.py",
>>> line 46, in build
>>>     self._generate_bindings()
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/builder.py",
>>> line 273, in _generate_bindings
>>>     buildable = bindings.generate()
>>>                 ^^^^^^^^^^^^^^^^^^^
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/bindings.py",
>>> line 220, in generate
>>>     output_code(spec, self, project, buildable)
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/generator/outputs/code.py",
>>> line 60, in output_code
>>>     _module_code(spec, bindings, project, py_debug, buildable)
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/generator/outputs/code.py",
>>> line 512, in _module_code
>>>     _virtual_handler(sf, spec, handler)
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/generator/outputs/code.py",
>>> line 4530, in _virtual_handler
>>>     sipres_value = _call_default_ctor(spec, ctor)
>>>                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/generator/outputs/code.py",
>>> line 4254, in _call_default_ctor
>>>     class_type = fmt_argument_as_cpp_type(spec, arg.definition)
>>>                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>>   File
>>> "/opt/hostedtoolcache/Python/3.12.0/x64/lib/python3.12/site-packages/sipbuild/generator/outputs/formatters/argument.py",
>>> line 46, in fmt_argument_as_cpp_type
>>>     original_typedef = arg.original_typedef
>>>                        ^^^^^^^^^^^^^^^^^^^^
>>> AttributeError: 'WrappedClass' object has no attribute 
>>> 'original_typedef'
>>> Command 'sip-build --no-compile' failed with exit code 1.
>>> 
>>> 
>>> Let me know if you need more details.
>>> 
>>> Thanks,
>>> Scott
>> 
>> The fix is probably to change 'arg.definition' to 'arg' in line 4254 
>> of code.py.
>> 
>> Given the nature of the changes in v6.8 there are likely to be other 
>> minor regressions. I'll release v6.8.1 when you are happy with it.
> 
> Thanks Phil, that fixed that error.  Now, when compiling, I'm seeing
> some broken code.  See the attached file on lines 203 and 214 where
> the if statement is not closed after the sipParsePair.

Fixed in the repo.

Thanks,
Phil
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sip_corewxPyEvent.cpp
Type: text/x-c++src
Size: 11370 bytes
Desc: not available
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20231208/ef6fa28f/attachment.cpp>


More information about the PyQt mailing list