python-pyside2 fails to build with Python 3.10.0rc1. Traceback (most recent call last): File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py", line 326, in <module> generate_all_pyi(outpath, options=options) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py", line 305, in generate_all_pyi generate_pyi(import_name, outpath, options) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py", line 241, in generate_pyi HintingEnumerator(fmt).module(import_name) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py", line 95, in module ret.update(self.klass(class_name, klass)) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/lib/enum_sig.py", line 129, in klass signature = getattr(thing, "__signature__", None) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/loader.py", line 97, in pyside_type_init return parser.pyside_type_init(type_key, sig_strings) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py", line 447, in pyside_type_init props = calculate_props(line) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py", line 344, in calculate_props annotations["return"] = (_resolve_type(returntype, line, 0, handle_retvar) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py", line 277, in _resolve_type pieces.append(to_string(part)) File "/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/redhat-linux-build/sources/shiboken2/shibokenmodule/files.dir/shibokensupport/signature/parser.py", line 228, in to_string return thing.__module__ + "." + name if dot else name TypeError: can only concatenate str (not "NoneType") to str For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/02360967-python-pyside2/ For all our attempts to build python-pyside2 with Python 3.10, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/python-pyside2/ Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10: https://copr.fedorainfracloud.org/coprs/g/python/python3.10/ Let us know here if you have any questions. Python 3.10 is already included in Fedora 35. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.10. A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon. We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle. Changing version to 35.
Dear Maintainer, your package has an open Fails To Build From Source bug for Fedora 35. Action is required from you. If you can fix your package to build, perform a build in koji, and either create an update in bodhi, or close this bug without creating an update, if updating is not appropriate [1]. If you are working on a fix, set the status to ASSIGNED to acknowledge this. If you have already fixed this issue, please close this Bugzilla report. Following the policy for such packages [2], your package will be orphaned if this bug remains in NEW state more than 8 weeks (not sooner than 2021-10-01). A week before the mass branching of Fedora 36 according to the schedule [3], any packages not successfully rebuilt at least on Fedora 34 will be retired regardless of the status of this bug. [1] https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/ [2] https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/ [3] https://fedorapeople.org/groups/schedule/f-36/f-36-key-tasks.html
Python 3.10 compatibility was just fixed upstream but has not made it into a release. https://bugreports.qt.io/browse/PYSIDE-1436
It looks like upstream is only going to apply the fix in Pyside2 6.x and not backport to 5.x...
Hopefully this will get fixed with a new release soon. https://wiki.qt.io/Qt_for_Python_Development_Notes#13._January_2022
Bah, 5.15.2.1 is out but it doesn't address all the Python 3.10 issues.
Well, it has a bunch of Python 3.10 fixes: https://code.qt.io/cgit/pyside/pyside-setup.git/log/?h=v5.15.2.1 What error are you getting with 5.15.2.1? (I do not see any 5.15.2.1 build attempt in Koji.)
I was just trying local mock builds first. I just kicked off a scratch build but not staying up waiting on it, we'll see what happens. https://koji.fedoraproject.org/koji/taskinfo?taskID=82218346
/builddir/build/BUILD/pyside-setup-opensource-src-5.15.2/sources/shiboken2/libshiboken/pep384impl.cpp:755:12: error: use of undeclared identifier '_Py_Mangle' return _Py_Mangle(privateobj, name); ^ So they screwed up the backport there: compare: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/sources/shiboken6/libshiboken/pep384impl.cpp?id=81e9cff884d6b03cdf64a5dd6ec6564d99177e0c with: https://code.qt.io/cgit/pyside/pyside-setup.git/commit/sources/shiboken2/libshiboken/pep384impl.cpp?h=v5.15.2.1&id=298cfb2d4a9674ed00b3769fa396a292c075c51c This part: -#ifndef Py_LIMITED_API - return _Py_Mangle(privateobj, name); -#else … -#endif // else Py_LIMITED_API is missing and needed to fix the build.
That seems to have worked. Now I just need to update the other patch which deals with setup.py not accepting --reuse-build anymore.
The %py3_check_import fails but the package builds so going ahead with a build for now so things are less broken. Thanks for the assist!
Now failing ONLY for armv7hl during clang detection during CMake configuration: ld.lld: error: unknown argument '-dT'
Ok, thank goodness for the new toolchain macro. Switching it it over the manual hacks to %optflags fixed the arm build. Now to see if all this still works for Python 3.11, but that's another BZ.