unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#57933: Gtk is unsupported on i686-linux
@ 2022-09-19 11:41 Mathieu Othacehe
  2022-10-09 20:36 ` Ludovic Courtès
  2022-10-11 15:56 ` bug#58444: Make gtk use librsvg on aarch64 again pelzflorian (Florian Pelz)
  0 siblings, 2 replies; 6+ messages in thread
From: Mathieu Othacehe @ 2022-09-19 11:41 UTC (permalink / raw)
  To: 57933


Hello,

I had the following error while trying out `make release` for
`i686-linux` specifically.

--8<---------------cut here---------------start------------->8---
+ for example in gnu/system/examples/*.tmpl
+ case "$example" in
+ options=
+ guix system -n disk-image gnu/system/examples/desktop.tmpl
accepted connection from pid 17139, user nixbld
guix system: warning: 'disk-image' is deprecated: use 'image' instead
guix system: error: package gvfs@1.50.2 does not support i686-linux
+ rm -f t-guix-system-16656 t-guix-system-error-16656 /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656/config.scm /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656/my-torrc
+ rmdir /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656
FAIL tests/guix-system.sh (exit status: 1)
--8<---------------cut here---------------end--------------->8---

Turns out, Gtk is unsupported on i686-linux which is problematic to
build the desktop.tmpl image.

--8<---------------cut here---------------start------------->8---
mathieu@meije ~/guix [env]$ make -j8 && ./pre-inst-env guix build gtk -s i686-linux
gnu/packages/gtk.scm:1182:2: warning: package gtk@4.8.0 does not support i686-linux
--8<---------------cut here---------------end--------------->8---

That's because `gst-plugins-bad` and `librsvg-bootstrap` both refer to
`librsvg` which depends on Rust which is only supported on x86_64-linux.

There are other packages in (gnu packages gnome) relying on librsvg
directly. I'm not sure what's our best option here. Use
librsvg-for-system for the entire desktop.tmpl closure?

Thanks,

Mathieu




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57933: Gtk is unsupported on i686-linux
  2022-09-19 11:41 bug#57933: Gtk is unsupported on i686-linux Mathieu Othacehe
@ 2022-10-09 20:36 ` Ludovic Courtès
  2022-10-10 15:40   ` Ludovic Courtès
  2022-10-11 15:56 ` bug#58444: Make gtk use librsvg on aarch64 again pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2022-10-09 20:36 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 57933

Hi,

Mathieu Othacehe <othacehe@gnu.org> skribis:

> I had the following error while trying out `make release` for
> `i686-linux` specifically.
>
> + for example in gnu/system/examples/*.tmpl
> + case "$example" in
> + options=
> + guix system -n disk-image gnu/system/examples/desktop.tmpl
> accepted connection from pid 17139, user nixbld
> guix system: warning: 'disk-image' is deprecated: use 'image' instead
> guix system: error: package gvfs@1.50.2 does not support i686-linux
> + rm -f t-guix-system-16656 t-guix-system-error-16656 /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656/config.scm /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656/my-torrc
> + rmdir /tmp/guix-build-guix-1.3.0.24760-34049.drv-0/t-guix-system-16656
> FAIL tests/guix-system.sh (exit status: 1)

I reported and fixed this one recently:

  https://issues.guix.gnu.org/58352

> Turns out, Gtk is unsupported on i686-linux which is problematic to
> build the desktop.tmpl image.
>
> mathieu@meije ~/guix [env]$ make -j8 && ./pre-inst-env guix build gtk -s i686-linux
> gnu/packages/gtk.scm:1182:2: warning: package gtk@4.8.0 does not support i686-linux

That is still the case due to Rust being pulled in via librsvg:

--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env  guix graph --path gtk librsvg
gtk@4.8.1
gst-plugins-bad@1.18.5
librsvg@2.50.7
--8<---------------cut here---------------end--------------->8---

(Time passes…)

I pushed things to make ‘gst-plugins-bad’ supported on i686-linux:

--8<---------------cut here---------------start------------->8---
27a3a5d193 gnu: svt-hevc: Mark as supported on x86_64-linux only.
e3362e249a gnu: directfb: Remove input labels.
3714c8bdcd gnu: gst-plugins-bad: Use 'librsvg-for-system'.
c3b0be1fa2 gnu: directfb: Use 'librsvg-for-system'.
--8<---------------cut here---------------end--------------->8---

But now there’s an ‘openexr’ test failure on i686.

And GTK has another path to unsupported software on i686-linux.

(Note that we’re talking about GTK 4.x, not GTK+, so maybe we can live
with that for now.  At least it no longer affects ‘desktop.tmpl’ and GTK
has relatively few dependents at this point.)

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#57933: Gtk is unsupported on i686-linux
  2022-10-09 20:36 ` Ludovic Courtès
@ 2022-10-10 15:40   ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2022-10-10 15:40 UTC (permalink / raw)
  To: Mathieu Othacehe; +Cc: 57933-done

Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

> I pushed things to make ‘gst-plugins-bad’ supported on i686-linux:
>
> 27a3a5d193 gnu: svt-hevc: Mark as supported on x86_64-linux only.
> e3362e249a gnu: directfb: Remove input labels.
> 3714c8bdcd gnu: gst-plugins-bad: Use 'librsvg-for-system'.
> c3b0be1fa2 gnu: directfb: Use 'librsvg-for-system'.
>
> But now there’s an ‘openexr’ test failure on i686.
>
> And GTK has another path to unsupported software on i686-linux.

Thanks to GNUtoo’s work in <https://issues.guix.gnu.org/57931>, this is
now fixed:

  75e24eec1e * gnu: gtk: Use librsvg-2.40 for non-x86_64.
  4133e50026 * gnu: openexr: Skip failing tests on i686.
  831e038dff * gnu: openexr: Apply 'guix style'.

Ludo’.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#58444: Make gtk use librsvg on aarch64 again.
  2022-09-19 11:41 bug#57933: Gtk is unsupported on i686-linux Mathieu Othacehe
  2022-10-09 20:36 ` Ludovic Courtès
@ 2022-10-11 15:56 ` pelzflorian (Florian Pelz)
  2022-10-11 17:45   ` pelzflorian (Florian Pelz)
  1 sibling, 1 reply; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2022-10-11 15:56 UTC (permalink / raw)
  To: 58444
  Cc: Mathieu Othacehe, Ludovic Courtès,
	Denis 'GNUtoo' Carikli

[-- Attachment #1: Type: text/plain, Size: 578 bytes --]

Hi Guix,

Mathieu Othacehe <othacehe@gnu.org> writes at <https://issues.guix.gnu.org/57933>:
> That's because `gst-plugins-bad` and `librsvg-bootstrap` both refer to
> `librsvg` which depends on Rust which is only supported on x86_64-linux.

This isn’t entirely true.  Since
32a87714f4507f853824d82d9c6ca10e1405c8eb, bordeaux has substitutes for
librsvg for aarch64.

I wrote a patch but probably it would rebuild the world.  I haven’t
tried compiling yet.  Would using (or (target-aarch64?)
                                      (target-x86-64?)) be better?


[-- Attachment #2: gnu-gtk-Use-recent-librsvg-on-aarch64-again.patch --]
[-- Type: text/x-patch, Size: 1679 bytes --]

From: Florian Pelz <pelzflorian@pelzflorian.de>
Date: Tue, 11 Oct 2022 16:57:06 +0200
Subject: [PATCH] gnu: gtk: Use recent librsvg on aarch64 again.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit 75e24eec1ed9772dbcb6737270076eca571dc4ea assumed librsvg didn’t
support aarch64, but it *is* supported since commit
32a87714f4507f853824d82d9c6ca10e1405c8eb.

* gnu/packages/gtk.scm (gtk)[propagated-inputs]: Check if librsvg is supported.
---
 gnu/packages/gtk.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index faf4d6f7eb..985031c7b2 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -32,6 +32,7 @@
 ;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
 ;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
 ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
+;;; Copyright © 2022 Florian Pelz <pelzflorian@pelzflorian.de>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -969,9 +970,11 @@ (define-public gtk+-2
     (outputs '("out" "bin" "doc" "debug"))
     (propagated-inputs
      (list atk cairo
-           (if (target-x86-64?)
-             librsvg-bootstrap
-             librsvg-2.40)
+           (let ((target (or (%current-target-system)
+                             (%current-system))))
+             (if (supported-package? librsvg-bootstrap target)
+                 librsvg-bootstrap
+                 librsvg-2.40))
            glib pango))
     (inputs
      (list cups

base-commit: 59911ae29442aba18bcb53233e793d8f3d264504
-- 
2.37.3


[-- Attachment #3: Type: text/plain, Size: 18 bytes --]


Regards,
Florian

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#58444: Make gtk use librsvg on aarch64 again.
  2022-10-11 15:56 ` bug#58444: Make gtk use librsvg on aarch64 again pelzflorian (Florian Pelz)
@ 2022-10-11 17:45   ` pelzflorian (Florian Pelz)
  2022-10-12 19:38     ` pelzflorian (Florian Pelz)
  0 siblings, 1 reply; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2022-10-11 17:45 UTC (permalink / raw)
  To: 58444
  Cc: Mathieu Othacehe, Ludovic Courtès,
	Denis 'GNUtoo' Carikli

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:
> I wrote a patch but probably it would rebuild the world.

It does rebuild the world.  I will try with (or (target-aarch64?)
                                                (target-x86-64?)).

Regards,
Florian




^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#58444: Make gtk use librsvg on aarch64 again.
  2022-10-11 17:45   ` pelzflorian (Florian Pelz)
@ 2022-10-12 19:38     ` pelzflorian (Florian Pelz)
  0 siblings, 0 replies; 6+ messages in thread
From: pelzflorian (Florian Pelz) @ 2022-10-12 19:38 UTC (permalink / raw)
  To: 58444
  Cc: Mathieu Othacehe, Ludovic Courtès, control,
	Denis 'GNUtoo' Carikli

close 58444
thanks

"pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:
> "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de> writes:
>> I wrote a patch but probably it would rebuild the world.
> It does rebuild the world.  I will try with (or (target-aarch64?)
>                                                 (target-x86-64?)).

My other attempt also caused rebuilds.  Also it's not that important if
gtk+-2 uses an old librsvg.  I had thought GNUtoo's i686 fix (and thank
you for it) introduced a regression for aarch64, but had not noticed how
his use of (target-x86-64?) was a common pattern for e.g. emacs as well.
Perhaps it is better to remove the (target-x86-64?) checks as soon as
mrustc supports i686.

Sorry for the noise.  Closing.

Regards,
Florian




^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-10-12 19:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-19 11:41 bug#57933: Gtk is unsupported on i686-linux Mathieu Othacehe
2022-10-09 20:36 ` Ludovic Courtès
2022-10-10 15:40   ` Ludovic Courtès
2022-10-11 15:56 ` bug#58444: Make gtk use librsvg on aarch64 again pelzflorian (Florian Pelz)
2022-10-11 17:45   ` pelzflorian (Florian Pelz)
2022-10-12 19:38     ` pelzflorian (Florian Pelz)

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).