Hello, pygobject3 stopped building successfully due to the test suite failure in Fedora Rawhide: + xvfb-run -s '-screen 0 1600x1200x24' /usr/bin/meson test -C redhat-linux-build --num-processes 8 --print-errorlogs --timeout-multiplier=5 ninja: Entering directory `/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build' ninja: no work to do. 1/1 pygobject-test-suite FAIL 3.28s exit status 2 >>> LD_LIBRARY_PATH=/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build/tests PYTHONPATH=/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build/tests/..:/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build/subprojects/pycairo TESTS_BUILDDIR=/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build/tests GI_TYPELIB_PATH=/builddir/build/BUILD/pygobject-3.46.0/redhat-linux-build/tests MALLOC_PERTURB_=31 /usr/bin/python3 /builddir/build/BUILD/pygobject-3.46.0/tests/runtests.py ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― Listing only the last 100 lines from a long log. importlib.import_module(module_name) /usr/lib64/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1381: in _gcd_import ??? <frozen importlib._bootstrap>:1354: in _find_and_load ??? <frozen importlib._bootstrap>:1325: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:929: in _load_unlocked ??? /usr/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:178: in exec_module exec(co, module.__dict__) ../tests/test_atoms.py:25: in <module> @unittest.skipIf(Gdk._version == "4.0", 'Gdk4 doesn\'t have GdkAtom') E AttributeError: 'NoneType' object has no attribute '_version' _________________ ERROR collecting tests/test_overrides_gdk.py _________________ /usr/lib/python3.12/site-packages/_pytest/runner.py:341: in from_call result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:372: in <lambda> call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.12/site-packages/_pytest/python.py:531: in collect self._inject_setup_module_fixture() /usr/lib/python3.12/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture self.obj, ("setUpModule", "setup_module") /usr/lib/python3.12/site-packages/_pytest/python.py:310: in obj self._obj = obj = self._getobj() /usr/lib/python3.12/site-packages/_pytest/python.py:528: in _getobj return self._importtestmodule() /usr/lib/python3.12/site-packages/_pytest/python.py:617: in _importtestmodule mod = import_path(self.path, mode=importmode, root=self.config.rootpath) /usr/lib/python3.12/site-packages/_pytest/pathlib.py:567: in import_path importlib.import_module(module_name) /usr/lib64/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1381: in _gcd_import ??? <frozen importlib._bootstrap>:1354: in _find_and_load ??? <frozen importlib._bootstrap>:1325: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:929: in _load_unlocked ??? /usr/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:178: in exec_module exec(co, module.__dict__) ../tests/test_overrides_gdk.py:40: in <module> class TestGdk(unittest.TestCase): ../tests/test_overrides_gdk.py:319: in TestGdk @unittest.skipUnless(gtkver() >= (4, 8, 0), "constructor available since 4.8") ../tests/test_overrides_gdk.py:23: in gtkver if Gtk is None: E NameError: name 'Gtk' is not defined _________________ ERROR collecting tests/test_overrides_gtk.py _________________ /usr/lib/python3.12/site-packages/_pytest/runner.py:341: in from_call result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:372: in <lambda> call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /usr/lib/python3.12/site-packages/_pytest/python.py:531: in collect self._inject_setup_module_fixture() /usr/lib/python3.12/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture self.obj, ("setUpModule", "setup_module") /usr/lib/python3.12/site-packages/_pytest/python.py:310: in obj self._obj = obj = self._getobj() /usr/lib/python3.12/site-packages/_pytest/python.py:528: in _getobj return self._importtestmodule() /usr/lib/python3.12/site-packages/_pytest/python.py:617: in _importtestmodule mod = import_path(self.path, mode=importmode, root=self.config.rootpath) /usr/lib/python3.12/site-packages/_pytest/pathlib.py:567: in import_path importlib.import_module(module_name) /usr/lib64/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) <frozen importlib._bootstrap>:1381: in _gcd_import ??? <frozen importlib._bootstrap>:1354: in _find_and_load ??? <frozen importlib._bootstrap>:1325: in _find_and_load_unlocked ??? <frozen importlib._bootstrap>:929: in _load_unlocked ??? /usr/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:178: in exec_module exec(co, module.__dict__) ../tests/test_overrides_gtk.py:39: in <module> GTK4 = (Gtk._version == "4.0") E AttributeError: 'NoneType' object has no attribute '_version' =============================== warnings summary =============================== ../gi/overrides/__init__.py:108: 11 warnings /builddir/build/BUILD/pygobject-3.46.0/gi/overrides/__init__.py:108: DeprecationWarning: 'pkgutil.get_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead override_loader = get_loader(override_package_name) ../../../../../usr/lib64/python3.12/pkgutil.py:291: 11 warnings /usr/lib64/python3.12/pkgutil.py:291: DeprecationWarning: 'pkgutil.find_loader' is deprecated and slated for removal in Python 3.14; use importlib.util.find_spec() instead return find_loader(fullname) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ ERROR ../tests/test_atoms.py - AttributeError: 'NoneType' object has no attri... ERROR ../tests/test_overrides_gdk.py - NameError: name 'Gtk' is not defined ERROR ../tests/test_overrides_gtk.py - AttributeError: 'NoneType' object has ... !!!!!!!!!!!!!!!!!!! Interrupted: 3 errors during collection !!!!!!!!!!!!!!!!!!!! Why reporting (except for the obvious)? We've already started integrating Python 3.13-a1 to Fedora. There are many packages that depend on pygobject3 to build and unblocking the build would help us greatly to continue with our integration efforts. In case of any questions, feel free to reach out to us. Thank you! Reproducible: Always
https://koschei.fedoraproject.org/package/pygobject3 indicates this started recently: https://koschei.fedoraproject.org/build/16528542 Other than a few upgrades, this Koschei build stopped pulling gstreamer1-plugins-bad-free and pulls in gstreamer1-plugins-bad-free-libs instead, caused by https://src.fedoraproject.org/rpms/gstreamer1-plugins-bad-free/c/2d1a75dff9a6565cb3dcb8fcf61e57fa67548f12?branch=rawhide I will investigate if installing the full gstreamer1-plugins-bad-free package makes a difference and if so, bisect the transitional dependencies.
Installing gstreamer1-plugins-bad-free makes this build...
The transitive dependency that makes a difference is gtk3. When gtk3 is installed, the tests pass, when it is not installed, we get: @unittest.skipIf(Gdk._version == "4.0", 'Gdk4 doesn\'t have GdkAtom') E AttributeError: 'NoneType' object has no attribute '_version' if Gtk is None: E NameError: name 'Gtk' is not defined GTK4 = (Gtk._version == "4.0") E AttributeError: 'NoneType' object has no attribute '_version' Since this is all about gtk4, the fact that gtk3 is needed is kinda weird :/
This fixes the problem, but I am a bit hesitant to push that, considering my lack of knowledge about gobject introspection and GTK: --- a/pygobject3.spec +++ b/pygobject3.spec @@ -22,6 +22,7 @@ BuildRequires: python3-devel >= %{python3_version} BuildRequires: python3-setuptools # Test dependencies. BuildRequires: python3dist(pytest) +BuildRequires: gtk3 BuildRequires: gtk4 BuildRequires: xorg-x11-server-Xvfb
Could you please have a look at this?
This bug appears to have been reported against 'rawhide' during the Fedora Linux 40 development cycle. Changing version to 40.
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 120 days