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
Created attachment 2104219 [details] An SVG with an embedded PNG
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.
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.)
I'll try to get the upstream fix for this backported to glycin today and / or update it to the latest available version.
(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 ***