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