GNU bug report logs - #23260
(wxmaxima) crash: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

Previous Next

Package: guix;

Reported by: Danny Milosavljevic <dannym <at> scratchpost.org>

Date: Sun, 10 Apr 2016 11:27:02 UTC

Severity: normal

Fixed in version 0.11.0

Done: ludo <at> gnu.org (Ludovic Courtès)

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 23260 in the body.
You can then email your comments to 23260 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#23260; Package guix. (Sun, 10 Apr 2016 11:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 10 Apr 2016 11:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: bug-guix <at> gnu.org
Subject: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema
 'org.gtk.Settings.FileChooser' is not installed
Date: Sun, 10 Apr 2016 13:25:59 +0200
When I start wxmaxima and go to "Save As", it crashes, printing this message beforehand:

(wxmaxima:24842): GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

Trace/breakpoint trap




Information forwarded to bug-guix <at> gnu.org:
bug#23260; Package guix. (Thu, 05 May 2016 11:50:01 GMT) Full text and rfc822 format available.

Message #8 received at 23260 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 23260 <at> debbugs.gnu.org
Subject: Re: bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema
 'org.gtk.Settings.FileChooser' is not installed
Date: Thu, 5 May 2016 13:48:47 +0200
I finally got to the bottom of it.

It says:

  (wxmaxima:27910): GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed

and it's right. I'm not sure how it's supposed to find them.

On this GuixSD installation I only have a minimal number of packages in the operating-system definition of the system profile (and gtk is not in it). I have installed gtk into my user's profile but I really shouldn't have to, right? (and it still doesn't work)

However, lots of programs use gtk. If they do, they'll sooner or later need the filechooser. However, gtk-3 filechooser needs its settings schema. 

Environment variables with "GTK" in the name are:

GTK_DATA_PREFIX=/run/current-system/profile
GTK_PATH=/gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/lib/gtk-3.0
GUIX_GTK3_PATH=/home/dannym/.guix-profile/lib/gtk-3.0:/home/dannym/.guix-profile/lib/gtk-3.0

But the schema 'org.gtk.Settings.FileChooser' is not found since it's in:

  /gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/share/glib-2.0/schemas

which is installed nowhere. I know I can easily workaround this by manually installing it in the system profile - but shouldn't it be solved in some better manner? 

The package which manages the schemas is glib. The package which has the schema 'org.gtk.Settings.FileChooser' is Gtk. The directory specified (twice) in GUIX_GTK3_PATH contains only:

./3.0.0/immodules.cache
./3.0.0/immodules/im-viqr.la
./3.0.0/immodules/im-am-et.la
./3.0.0/immodules/im-thai.so
./3.0.0/immodules/im-am-et.so
./3.0.0/immodules/im-xim.la
./3.0.0/immodules/im-thai.la
./3.0.0/immodules/im-inuktitut.la
./3.0.0/immodules/im-cyrillic-translit.la
./3.0.0/immodules/im-multipress.la
./3.0.0/immodules/im-ti-et.so
./3.0.0/immodules/im-ti-er.so
./3.0.0/immodules/im-cedilla.la
./3.0.0/immodules/im-viqr.so
./3.0.0/immodules/im-ipa.la
./3.0.0/immodules/im-multipress.so
./3.0.0/immodules/im-ti-et.la
./3.0.0/immodules/im-xim.so
./3.0.0/immodules/im-ti-er.la
./3.0.0/immodules/im-ipa.so
./3.0.0/immodules/im-cedilla.so
./3.0.0/immodules/im-inuktitut.so
./3.0.0/immodules/im-cyrillic-translit.so
./3.0.0/printbackends/libprintbackend-cups.so
./3.0.0/printbackends/libprintbackend-cups.la
./3.0.0/printbackends/libprintbackend-lpr.so
./3.0.0/printbackends/libprintbackend-file.so
./3.0.0/printbackends/libprintbackend-file.la
./3.0.0/printbackends/libprintbackend-lpr.la

So it can't find it there either.

How is this supposed to work?




Information forwarded to bug-guix <at> gnu.org:
bug#23260; Package guix. (Thu, 05 May 2016 16:00:01 GMT) Full text and rfc822 format available.

Message #11 received at 23260 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: 23260 <at> debbugs.gnu.org
Subject: Re: bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema
 'org.gtk.Settings.FileChooser' is not installed
Date: Thu, 5 May 2016 17:59:00 +0200
In glib-2.46.1/gio/gsettingsschema.c there's a function "initialize_schema_sources" which is responsible for initializing the schema sources.

It uses g_get_system_data_dirs() and traverses the result (which are supposed to be names of directories), and it checks an environment variable GSETTINGS_SCHEMA_DIR for the name of ONE directory; the basename of the regular file searched for is called "gschemas.compiled".

Using

$ export GSETTINGS_SCHEMA_DIR=/gnu/store/xz2vmk68f5jpscvpqqz1zqa7xr2ydarn-gtk+-3.20.1/share/glib-2.0/schemas

makes it work. However, that can't be the right fix. Among other things, one can only specify a single directory that way. Also, the average user probably doesn't even know what glib schemas are.

If that is fine anyway (why?), there seems to be already an environment variable "GTK_PATH" set by guix, so auto-setting

$ export GSETTINGS_SCHEMA_DIR="${GTK_PATH}/../../share/glib-2.0/schemas"

should make it work for the time being.

I don't think this bug is specific to wxmaxima. I suggest to retitle it "Gtk3 FileChooser doesn't work - it doesn't find its settings" or something.




Information forwarded to bug-guix <at> gnu.org:
bug#23260; Package guix. (Sat, 28 May 2016 11:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 23260 <at> debbugs.gnu.org (full text, mbox):

From: iyzsong <at> member.fsf.org (宋文武)
To: Danny Milosavljevic <dannym <at> scratchpost.org>
Cc: 23260 <at> debbugs.gnu.org
Subject: Re: bug#23260: (wxmaxima) crash: GLib-GIO-ERROR **: Settings schema
 'org.gtk.Settings.FileChooser' is not installed
Date: Sat, 28 May 2016 19:56:32 +0800
Danny Milosavljevic <dannym <at> scratchpost.org> writes:

> I finally got to the bottom of it.
>
> It says:
>
>   (wxmaxima:27910): GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
>
> and it's right. I'm not sure how it's supposed to find them.
>
> On this GuixSD installation I only have a minimal number of packages
> in the operating-system definition of the system profile (and gtk is
> not in it). I have installed gtk into my user's profile but I really
> shouldn't have to, right? (and it still doesn't work)
>
> However, lots of programs use gtk. If they do, they'll sooner or later need the filechooser. However, gtk-3 filechooser needs its settings schema.
>
> Environment variables with "GTK" in the name are:
>
> GTK_DATA_PREFIX=/run/current-system/profile
> GTK_PATH=/gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/lib/gtk-3.0
> GUIX_GTK3_PATH=/home/dannym/.guix-profile/lib/gtk-3.0:/home/dannym/.guix-profile/lib/gtk-3.0
>
> But the schema 'org.gtk.Settings.FileChooser' is not found since it's in:
>
>   /gnu/store/mjjkx5fq0gn5bg89pz2gsipjs975m2im-gtk+-3.18.2/share/glib-2.0/schemas
>
> which is installed nowhere. I know I can easily workaround this by
> manually installing it in the system profile - but shouldn't it be
> solved in some better manner?

Yes, as you found, the FileChooser schema must be known by wxmaxima
via GSETTINGS_SCHEMA_DIR or XDG_DATA_DIRS.

There is a `glib-or-gtk-build-system', when use it, all executables
will be wraped with XDG_DATA_DIR, combining from inputs's $out/share
directories.  Currently, applications using gsettnigs can be handled
this way or wrap it manually using `wrap-program'.


Thanks for your report, I fixed this specified issue
in commit de477809d773.




bug marked as fixed in version 0.11.0, send any further explanations to 23260 <at> debbugs.gnu.org and Danny Milosavljevic <dannym <at> scratchpost.org> Request was from ludo <at> gnu.org (Ludovic Courtès) to control <at> debbugs.gnu.org. (Mon, 01 Aug 2016 16:50:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 30 Aug 2016 11:24:03 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 231 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.