Bug#1051168: gtk4: 4.12 regression: FTBFS on riscv64: multiple test failures
Aurelien Jarno
aurel32 at debian.org
Sun Sep 3 19:26:31 BST 2023
Source: gtk4
Version: 4.12.1+ds-2
Severity: important
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)
User: debian-riscv at lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-riscv at lists.debian.org
Dear maintainer,
gtk4 fails to build on riscv64, due to multiple test failures, which
have been added in version 4.12:
| Summary of Failures:
|
| 57/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl+gsk-compare-flipped-gl / gl border-one-rounded flipped FAIL 11.04s exit status 1
| 300/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl / gl opacity-overdraw FAIL 10.48s exit status 1
| 301/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl+gsk-compare-flipped-gl / gl opacity-overdraw flipped FAIL 10.48s exit status 1
| 302/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl+gsk-compare-repeated-gl / gl opacity-overdraw repeated FAIL 10.61s exit status 1
| 303/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl+gsk-compare-rotated-gl / gl opacity-overdraw rotated FAIL 10.53s exit status 1
| 304/1434 gtk:gsk+gsk-compare+gsk-gl+gsk-compare-gl+gsk-compare-masked-gl / gl opacity-overdraw masked FAIL 10.68s exit status 1
| 1393/1434 gtk:reftest / reftest opacity.ui FAIL 12.37s 0/1 subtests passed
|
| Ok: 1412
| Expected Fail: 0
| Fail: 7
| Unexpected Pass: 0
| Skipped: 15
| Timeout: 0
The full build log is available there:
https://buildd.debian.org/status/fetch.php?pkg=gtk4&arch=riscv64&ver=4.12.1%2Bds-2&stamp=1693193191&raw=0
Investigation has shown that the issue is only present for the gl
backend, but not the cairo backend. It is due to a difference of
rendering between llvmpipe and softpipe. It seems the referenced in the
testsuite is generated with it. Rebuilding gtk4 on amd64 with
GALLIUM_DRIVER=softpipe trigger the same failures and resulting in
identical png files as on riscv64.
While support for llvmpipe is being worked on, it is currently blocked
because mesa uses the deprecated mcjit interface, which does not accept
new architectures. Support for the new interface, orcjit, in mesa is
being worked on, but it will take time bringing it to the same level as
mcjit [1].
In the meantime, would it be possible to ignore the corresponding
failures like it is done on mips*? I have tested the following patch:
--- gtk4-4.12.1+ds/debian/rules
+++ gtk4-4.12.1+ds/debian/rules
@@ -258,7 +258,7 @@
endif
# https://bugs.debian.org/1050077
-ifneq ($(filter mips%,$(DEB_HOST_ARCH_CPU)),)
+ifneq ($(filter mips% riscv64,$(DEB_HOST_ARCH_CPU)),)
fuzzy_gsk_compare += opacity-overdraw
ignore_gsk_compare += border-one-rounded
fuzzy_reftests += opacity
Thanks,
Aurelien
[1] https://lists.riscv.org/g/sig-graphics/topic/minutes_for_risc_v_graphics/97648261
More information about the pkg-gnome-maintainers
mailing list