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

From: Danny Milosavljevic <[email-masked]>
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?