[Pkg-rust-maintainers] Bug#1038447: librsvg: FTBFS on big-endian architectures: multiple test regressions since September 2022

Simon McVittie smcv at debian.org
Sun Jun 18 13:40:09 BST 2023


Source: librsvg
Version: 2.54.5+dfsg-1
Severity: serious
Tags: ftbfs help
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: debian-s390 at lists.debian.org, debian-powerpc at lists.debian.org, rustc at packages.debian.org
Forwarded: https://gitlab.gnome.org/GNOME/librsvg/-/issues/972

librsvg 2.54.5+dfsg-2 failed to build on s390x, powerpc and ppc64 with
multiple test failures. At first glance, they seem to be the same test
failures, meaning this is about endianness rather than any specific
architecture.

2.54.5+dfsg-2 only contains packaging changes and no code changes,
so I strongly suspect (but have not actually proved) that rebuilding
2.54.5+dfsg-1 with current versions of its dependencies would also
exhibit the same test failures, similar to #1038252 on i386.
The specific tests that are failing here are not the same as #1038252.

The failing tests here are "reftests", which render a SVG image to PNG
and compare the result with a known-good PNG. These are difficult to
investigate in a buildd log, because they're very visual, but the librsvg
buildd logs export the output images using uuencode, and I have extracted
them from the s390x log and used them to open upstream bugs which show
the rendering issue visually:

- https://gitlab.gnome.org/GNOME/librsvg/-/issues/972
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/973
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/974
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/975
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/976
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/977
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/978
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/979
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/980
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/981
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/982
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/983
- https://gitlab.gnome.org/GNOME/librsvg/-/issues/984

In all cases, the standalone steps to reproduce would be: render the SVG
to PNG; look at the SVG and its reference rendering side-by-side; and the
expected result is that they look the same.

The most likely trigger for regressions between September 2022 and now
would seem to be the upgrade of rustc from 1.61 to 1.63, since Cairo
has not had significant changes for a while, none of the rendering
differences involve text/fonts, and librsvg seems to do all its non-text
rendering using vendored Rust libraries or its own Rust code rather than
an external library like libpng.

    smcv



More information about the Pkg-rust-maintainers mailing list