Subject: Re: bug#27264: gnome-shell-3.24.2 consistently dies during initialization

From: Roel Janssen <[email-masked]>
Date: Thu, 08 Jun 2017 20:08:05 +0200

>From 7b5c3ce6386acf1f7a965d19cd6dd51c662ba5bb Mon Sep 17 00:00:00 2001
From: Roel Janssen <[email-masked]>
Date: Thu, 8 Jun 2017 20:04:04 +0200
Subject: [PATCH] gnu: gnome-shell: Fix run-time crash.

* gnu/packages/gnome.scm (gnome-shell): Add geoclue and librsvg inputs.
---
 gnu/packages/gnome.scm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 84ae1cf2f..65f022750 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2634,7 +2634,8 @@ output devices.")
                          (("/bin/true") (which "true"))))))))
     (native-inputs
      `(("pkg-config" ,pkg-config)
-       ("intltool" ,intltool)))
+       ("intltool" ,intltool)
+       ("gobject-introspection" ,gobject-introspection)))
     (inputs
      `(("avahi" ,avahi)
        ("glib" ,glib)
@@ -5091,6 +5092,8 @@ properties, screen resolution, and other GNOME parameters.")
        ("gcr" ,gcr)
        ("gdm" ,gdm)
        ("gjs" ,gjs)
+       ("geoclue" ,geoclue)
+       ("geocode-glib" ,geocode-glib)
        ("gnome-bluetooth" ,gnome-bluetooth)
        ("gnome-control-center" ,gnome-control-center)
        ("gnome-desktop" ,gnome-desktop)
@@ -5101,6 +5104,7 @@ properties, screen resolution, and other GNOME parameters.")
        ("libcroco" ,libcroco)
        ("libgweather" ,libgweather)
        ("libsoup" ,libsoup)
+       ("librsvg" ,librsvg)
        ("mesa-headers" ,mesa-headers)
        ("mutter" ,mutter)
        ("network-manager-applet" ,network-manager-applet)
-- 
2.13.0

Kei Kebreau writes:

> [email-masked] (Ludovic Courtès) writes:
>
>> Hi Mark,
>>
>> Mark H Weaver <[email-masked]> skribis:
>>
>>> Roel Janssen <[email-masked]> writes:
>>>
>>>> Ludovic Courtès writes:
>>>>
>>>>> Hi,
>>>>>
>>>>> Mark H Weaver <[email-masked]> skribis:
>>>>>
>>>>>> (.gnome-shell-real:11698): Gjs-WARNING **: JS ERROR: Error:
>>>>> Requiring Rsvg, version none: Typelib file for namespace 'Rsvg'
>>>>> (any version) not found
>>>>>
>>>>> Looks like the librsvg JS bindings are missing.  Would it help to add
>>>>> librsvg as an input to ‘gnome-shell’?
>>>>>
>>>>> Ludo’.
>>>>
>>>> Adding librsvg to gnome-shell solves this problem, however, a similar
>>>> error for Geoclue2 occurs.  I added 'geoclue' to the inputs, but that
>>>> doesn't solve the problem.
>
> I've found that adding gobject-introspection as a native-input to
> geoclue first allows geoclue to generate the required typelib
> file. FWIW, I'm writing this in an instance of gnome-shell.
>
>>>
>>> Thanks.
>>
>> Great, could you this fix if you haven’t already?
>>
>>> I have a question: Does GNOME 3 work for *anyone* in Guix now?  If so,
>>> that would be useful information.  If not, I wonder why this got merged
>>> into master.
>>
>> I think many of us use GTK+/GNOME applications, but fewer use GNOME, so
>> I suppose we just didn’t test a full GNOME setup.
>>
>> Next time we should probably do that or, even better, have an automated
>> test that logs in, takes a screenshot, and does some OCR to check
>> whether we got something that looks like a GNOME screen.
>>
>> WDYT?
>>
>> Ludo’.
>
> I definitely agree. To get gnome-shell running on machine required the
> at least the attached patch (the librsvg upgrade is not necessary to my
> knowledge). I get more warnings about gnome-shell trying and failing to
> run the "ibus-daemon" command, a suggestion for geoclue to use
> glib-networking for TLS/SSL support.
>
> From ed08a066c075bf19f1ea92f4abd0d20dc61d59eb Mon Sep 17 00:00:00 2001
> From: Kei Kebreau <[email-masked]>
> Date: Thu, 8 Jun 2017 08:15:53 -0400
> Subject: [PATCH] Fix gnome-shell.
>
> ---
>  gnu/packages/gnome.scm | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 84ae1cf2f..6528221a8 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -1066,7 +1066,7 @@ dealing with different structured file formats.")
>  (define-public librsvg
>    (package
>      (name "librsvg")
> -    (version "2.40.16")
> +    (version "2.40.17")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "mirror://gnome/sources/" name "/"
> @@ -1074,7 +1074,7 @@ dealing with different structured file formats.")
>                                    name "-" version ".tar.xz"))
>                (sha256
>                 (base32
> -                "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl"))))
> +                "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6"))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:phases
> @@ -2633,7 +2633,8 @@ output devices.")
>                         (substitute* "configure"
>                           (("/bin/true") (which "true"))))))))
>      (native-inputs
> -     `(("pkg-config" ,pkg-config)
> +     `(("gobject-introspection" ,gobject-introspection)
> +       ("pkg-config" ,pkg-config)
>         ("intltool" ,intltool)))
>      (inputs
>       `(("avahi" ,avahi)
> @@ -5090,6 +5091,7 @@ properties, screen resolution, and other GNOME parameters.")
>         ("evolution-data-server" ,evolution-data-server)
>         ("gcr" ,gcr)
>         ("gdm" ,gdm)
> +       ("geoclue" ,geoclue)
>         ("gjs" ,gjs)
>         ("gnome-bluetooth" ,gnome-bluetooth)
>         ("gnome-control-center" ,gnome-control-center)
> @@ -5100,6 +5102,7 @@ properties, screen resolution, and other GNOME parameters.")
>         ("libcanberra" ,libcanberra)
>         ("libcroco" ,libcroco)
>         ("libgweather" ,libgweather)
> +       ("librsvg" ,librsvg)
>         ("libsoup" ,libsoup)
>         ("mesa-headers" ,mesa-headers)
>         ("mutter" ,mutter)

I attached your patch plus adding geoclue-glib to the minus the librsvg
upgrade.

I can confirm gnome-shell works again.  I don't get any geoclue-related
warnings/errors.  I do get warnings about missing a
"org.freedesktop.impl.portal.PermissionStore" service.

Kind regards,
Roel Janssen