Can't start gWaei : GLib error
Brought to you by:
pizzach
Hi,
I'm trying to make a package for gWaei 1.5.2, but I can't start it since 1.5 came out. Here's the output:
aymeric[build]$ gwaei
GLib-GIO-ERROR **: Settings schema 'org.gnome.gwaei.highlighting' is not installed
aborting...
アボートしました
That looks like a problem with GConf, as no schemas are created in the package. I saw that some GConf configure options have been removed, so I don't know how to install the schemas now.
I attached the build log in case it helps.
Thanks in advance.
Build log
Bonjour Ejis,
Zachary has replaced GConf by GSettings in gwaei (that's a current goals in gnome project http://live.gnome.org/GnomeGoals/GSettingsMigration ).
I encoutered the same error as you (However I used a custom install directory. But that doesn't seem to be your case)
I straced gwaei and it showed me gsettings was looking for the schemas in some global locations :
open("/usr/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_LARGEFILE) (...)
open("/usr/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_LARGEFILE) (...)
open("/usr/local/share/glib-2.0/schemas/gschemas.compiled", O_RDONLY|O_LARGEFILE) (...)
In my case, it was obviously not installed there.
After googling a bit for this gschemas.compiled, I found a hint in http://library.gnome.org/devel//gio/2.26/glib-compile-schemas.html :
"At runtime, GSettings looks for schemas in the glib-2.0/schemas subdirectories of all directories specified in the XDG_DATA_DIRS environment variable."
As for now I'm using the environnement variable (where "install" is the directory I specified in the --prefix option at compilation time) :
XDG_DATA_DIRS="${XDG_DATA_DIRS}:./install/share/" ./install/bin/gwaei
In the standard installation procedure, the schema should probably be installed at a global gnome location that gsettings can access. It's probably another problem and we should wait for Zachary comment :)
hoping it could be of a little bit helpful in the meantime
Merci. Now I understand how these new schemas work. In fact, we had instructions for packages using GConf and we had to deactivate the option in ./configure then create the schemas by hand.
So I made a new package without the --disable-schemas-compile option. And they have been installed.
But it still doesn't start:
aymeric[build]$ ls /usr/share/glib-2.0/schemas/
gschema.dtd
gschemas.compiled
org.gnome.Evince.gschema.xml
org.gnome.brasero.gschema.xml
org.gnome.crypto.cache.gschema.xml
org.gnome.crypto.pgp.gschema.xml
org.gnome.gwaei.dictionary.gschema.xml
org.gnome.gwaei.fonts.gschema.xml
org.gnome.gwaei.gschema.xml
org.gnome.gwaei.highlight.gschema.xml
org.gnome.gwaei.kanjipad_window.gschema.xml
org.gnome.gwaei.main_window.gschema.xml
org.gnome.gwaei.radicals_window.gschema.xml
org.webkitgtk-1.0.gschema.xml
aymeric[build]$ echo $XDG_DATA_DIRS
/usr/local/share/:/usr/share/:/usr/share/gdm/:/usr/share
aymeric[build]$ gwaei
GLib-GIO-ERROR **: Settings schema 'org.gnome.gwaei.highlighting' is not installed
aborting...
アボートしました
Ejisneos. You can tell me where the schemas are installing? You should have a location like /usr/share/glib-2.0/schemas tha GSettings stores them in. If you are making a package, you/we may need to make some special rules to get he files to copy and force gsettings to install them.
The conversion no GSettings has been a rough one as the documentation just isn't there yet. I'm poing things get better. :-/ It has been another pain in my side. I for one will be happy once the Gnome 3 transition finishes so things can start getting sane again.
Here's the buildscript:
http://pastealacon.com/26581
And here's the build log:
http://pastealacon.com/26582
I think you'll get all the information you want with these files. :)
I believe since your install is done using fakeroot, the schema install command does nothing to the global schema database. You need your script to call "glib-compile-schemas usr/share/glib-2.0/schemas" on the folder after install to update the schemas database globally. To avoid sandbox violations during build, you should run configure with --disable-schemas-compile.
I think that is the answer to your problem.
I just added "glib-compile-schemas $PKGDIR/usr/share/glib-2.0/schemas" after the "make install" and that worked!
gWaei 1.5.2 starts now! Thank you very much! I realy enjoy using it.