Skip to content

[Bug]: Unit tests: Ubuntu 22.04 lacks dependencies required for recent PyGObject versions #29749

Closed

Description

@jayaddison

Bug summary

The recently-released Python PyGObject package v3.52.0 requires a major upgrade of the system glib dependencies. For example, it expects to find girepository-2.0 where previously girepository-1.0 would satisfy dependencies.

This can be observed in recent mainline build logs: https://github.com/matplotlib/matplotlib/actions/runs/13819552073/job/38661296332#step:10:306

This is a similar issue to #29732, but affecting Ubuntu 22.04.

Code for reproduction

N/A

Actual outcome

GTK-related tests should run during the GitHub Actions Linux CI test jobs (tests.yml workflow).

Expected outcome

GTK-related tests are skipped due to the inability of the library to load the relevant glib functionality.

Additional information

The libgirepository-2.0-0 system package that I believe may be necessary to unblock the PyGObject>3.52.0 upgrade on Linux platforms is available on Ubuntu 24.04 (aka ubuntu-24.04 or ubuntu-latest at the time-of-writing in GitHub Actions' current runner images).

However, v2.0 of the same package is not currently available -- and I would guess is unlikely to become available -- on Ubuntu 22.04.

Operating system

Ubuntu 22.04

Matplotlib Version

9293596

Matplotlib Backend

N/A

Python version

No response

Jupyter version

N/A

Installation

None

Activity

  1. jayaddison commented on Mar 14, 2025

    @jayaddison
    ContributorAuthor

    I've spent a day or two thinking about this, but have not yet investigated the technical reasons for the incompatibility.

    My sense is that PyGObject may have moved to upgrade more quickly than anticipated. I say that based on the fact that recent versions of glib-2.0 itself does not yet seem to require girepository-2.0.

    As a result: I plan to file an issue on the GNOME gobject.git (PyGObject) repository to ask whether these failures are expected and/or whether backwards compatibility could be maintained.

    Even so: I think it may be worth adding Ubuntu 24.04 to the matplotlib GitHub Actions CI. I didn't find a defined policy for the versioning of CI images/runners in use at the moment. Hopefully adding Ubuntu 24.04 to the mix (perhaps only for one or two of the jobs, initially) would not be too difficult. I could probably find some time to volunteer on that next week, unless someoe else is already likely to look at it.

  2. jayaddison commented on Mar 17, 2025

    @jayaddison
    ContributorAuthor

    My sense is that PyGObject may have moved to upgrade more quickly than anticipated. I say that based on the fact that recent versions of glib-2.0 itself does not yet seem to require girepository-2.0.

    As a result: I plan to file an issue on the GNOME gobject.git (PyGObject) repository to ask whether these failures are expected and/or whether backwards compatibility could be maintained.

    From additional reading: there was previous discussion upstream before increasing the dependency version; in particular:

    ...so, given that it was already discussed and agreed there, I do not plan to add a bugreport there (nitpick: pygobject.git, not gobject.git).

    Instead I think it would be possible to upgrade the Ubuntu base image and girepository dependency for some CI jobs here.

  3. added this to the v3.11.0 milestone on Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions