Bug 2389647 - python-matplotlib: FTBFS in Fedora Rawhide/F43: test_rasterized[svg] fails on ppc64le
Summary: python-matplotlib: FTBFS in Fedora Rawhide/F43: test_rasterized[svg] fails on...
Keywords:
Status: CLOSED DUPLICATE of bug 2275913
Alias: None
Product: Fedora
Classification: Fedora
Component: rust-glycin
Version: 43
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kalev Lember
QA Contact:
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: F43FTBFS PYC3.14rc3 F44FTBFS, RAWHIDEFTBFS
TreeView+ depends on / blocked
 
Reported: 2025-08-20 08:55 UTC by Karolina Surma
Modified: 2025-08-21 17:35 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-08-21 17:35:20 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
An SVG with an embedded PNG (39.81 KB, image/svg+xml)
2025-08-21 02:15 UTC, Elliott Sales de Andrade
no flags Details

Description Karolina Surma 2025-08-20 08:55:02 UTC
Description of problem:
Package python-matplotlib fails to build from source in Fedora Rawhide/43 on ppc64le architecture.

Version-Release number of selected component (if applicable):
3.10.5-1.fc43

Steps to Reproduce:
koji build --scratch f44 python-matplotlib-3.10.5-1.fc43.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-matplotlib

Results:

_____________________________ test_rasterized[svg] _____________________________
[gw4] linux -- Python 3.14.0 /usr/bin/python3
ext = 'svg', request = <FixtureRequest for <Function test_rasterized[svg]>>
args = (), kwargs = {}, file_name = 'test_rasterized[svg]'
fig_test = <Figure size 640x480 with 1 Axes>
fig_ref = <Figure size 640x480 with 1 Axes>, figs = []
test_image_path = PosixPath('/builddir/build/BUILD/python-matplotlib-3.10.5-build/matplotlib-3.10.5/result_images/test_backend_svg/test_rasterized[svg].svg')
ref_image_path = PosixPath('/builddir/build/BUILD/python-matplotlib-3.10.5-build/matplotlib-3.10.5/result_images/test_backend_svg/test_rasterized[svg]-expected.svg')
    @pytest.mark.parametrize("ext", extensions)
    def wrapper(*args, ext, request, **kwargs):
        if 'ext' in old_sig.parameters:
            kwargs['ext'] = ext
        if 'request' in old_sig.parameters:
            kwargs['request'] = request
    
        file_name = "".join(c for c in request.node.name
                            if c in ALLOWED_CHARS)
        try:
            fig_test = plt.figure("test")
            fig_ref = plt.figure("reference")
            with _collect_new_figures() as figs:
                func(*args, fig_test=fig_test, fig_ref=fig_ref, **kwargs)
            if figs:
                raise RuntimeError('Number of open figures changed during '
                                   'test. Make sure you are plotting to '
                                   'fig_test or fig_ref, or if this is '
                                   'deliberate explicitly close the '
                                   'new figure(s) inside the test.')
            test_image_path = result_dir / (file_name + "." + ext)
            ref_image_path = result_dir / (file_name + "-expected." + ext)
            fig_test.savefig(test_image_path)
            fig_ref.savefig(ref_image_path)
>           _raise_on_image_difference(
                ref_image_path, test_image_path, tol=tol
            )
E           matplotlib.testing.exceptions.ImageComparisonFailure: images not close (RMS 147.627):
E           	result_images/test_backend_svg/test_rasterized[svg]_svg.png
E           	result_images/test_backend_svg/test_rasterized[svg]-expected_svg.png
E           	result_images/test_backend_svg/test_rasterized[svg]_svg-failed-diff.png

Comment 1 Elliott Sales de Andrade 2025-08-21 02:15:00 UTC
Created attachment 2104219 [details]
An SVG with an embedded PNG

Comment 2 Elliott Sales de Andrade 2025-08-21 02:15:31 UTC
This is a gdk-pixbuf problem, possibly related to the switch to glycin. The SVG is converted to PNG by Inkscape, but fails to load the embedded PNG data.

With the attached `test_rasterized.svg`, running Inkscape to convert it with `inkscape -o test_rasterized.png test_rasterized.svg` produces a correct PNG on x86_64, but not on ppc64le.

@decathorpe This was fixed on x86_64 by bug 2387023, but I don't know why it's only a problem on ppc64le now.

Comment 3 Elliott Sales de Andrade 2025-08-21 02:52:03 UTC
Looks like https://gitlab.gnome.org/GNOME/glycin/-/issues/165 though it's not released yet. I'll reassign to glycin. (PS, we're a few releases behind already 2.0.alpha6 vs 2.0.beta2, but this would be in beta4 when it's out.)

Comment 4 Fabio Valentini 2025-08-21 13:15:13 UTC
I'll try to get the upstream fix for this backported to glycin today and / or update it to the latest available version.

Comment 5 Fabio Valentini 2025-08-21 17:35:20 UTC
(The issue is really in the "rust-glycin" package, and already reported. Going to track things there.)

*** This bug has been marked as a duplicate of bug 2275913 ***


Note You need to log in before you can comment on or make changes to this bug.