sip & PyQt w/ Python 3.13a
Scott Talbert
swt at techie.net
Fri Dec 1 13:44:39 GMT 2023
On Fri, 1 Dec 2023, Phil Thompson wrote:
> On 01/12/2023 04:34, Scott Talbert wrote:
>> Hi Phil,
>>
>> I know it's early in the Python 3.13 dev cycle, but the Fedora folks
>> have started working on building everything. When trying to build
>> PyQt5, we're seeing a RecursionError. Any ideas about that?
>>
>> Generating the QtCore .pyi file...
>> sip-build: An internal error occurred...
>> Traceback (most recent call last):
>> File "/usr/bin/sip-build", line 8, in <module>
>> sys.exit(main())
>> ^^^^^^
>> File "/usr/lib64/python3.13/site-packages/sipbuild/tools/build.py",
>> line 37, in main
>> handle_exception(e)
>> File "/usr/lib64/python3.13/site-packages/sipbuild/exceptions.py",
>> line 81, in handle_exception
>> raise e
>> File "/usr/lib64/python3.13/site-packages/sipbuild/tools/build.py",
>> line 34, in main
>> project.build()
>> File "/usr/lib64/python3.13/site-packages/sipbuild/project.py", line
>> 245, in build
>> self.builder.build()
>> File "/usr/lib64/python3.13/site-packages/sipbuild/builder.py", line
>> 48, in build
>> self._generate_bindings()
>> File "/usr/lib64/python3.13/site-packages/sipbuild/builder.py", line
>> 280, in _generate_bindings
>> buildable = bindings.generate()
>> ^^^^^^^^^^^^^^^^^^^
>> File "/builddir/build/BUILD/PyQt5-5.15.9/project.py", line 619, in
>> generate
>> buildable = super().generate()
>> ^^^^^^^^^^^^^^^^^^
>> File "/usr/lib64/python3.13/site-packages/sipbuild/bindings.py",
>> line 214, in generate
>> output_pyi(spec, project, pyi_path)
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 53, in output_pyi
>> _module(pf, spec, module)
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 132, in _module
>> _class(pf, spec, module, klass, defined)
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 267, in _class
>> _class(pf, spec, module, nested, defined, indent)
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 289, in _class
>> _callable(pf, spec, module, member, klass.overloads,
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 485, in _callable
>> _overload(pf, spec, module, overload, overloaded, first_overload,
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 575, in _overload
>> signature = _python_signature(spec, module, py_signature, defined,
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 599, in _python_signature
>> as_str = _argument(spec, module, arg, defined, arg_nr=arg_nr)
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 676, in _argument
>> s += _type(spec, module, arg, defined, out=out)
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/pyi.py",
>> line 710, in _type
>> return ArgumentFormatter(spec, arg).as_type_hint(module, out,
>> defined)
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/formatters/argument.py",
>> line 327, in as_type_hint
>> s += TypeHintManager(self.spec).as_type_hint(hint, out, context,
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^
>> File
>> "/usr/lib64/python3.13/site-packages/sipbuild/generator/outputs/type_hints.py",
>> line 107, in __new__
>> manager = cls._spec_manager_map[spec]
>> ~~~~~~~~~~~~~~~~~~~~~^^^^^^
>> File "/usr/lib64/python3.13/weakref.py", line 415, in __getitem__
>> return self.data[ref(key)]
>> ~~~~~~~~~^^^^^^^^^^
>> File "<string>", line 4, in __eq__
>> File "<string>", line 4, in __eq__
>> File "<string>", line 4, in __eq__
>> [Previous line repeated 495 more times]
>> RecursionError: maximum recursion depth exceeded in comparison
>
> No idea - what version of SIP?
That traceback was with 6.7.12, but I also tried with 6.8.0 and got a
similar RecursionError.
Scott
More information about the PyQt
mailing list