Problem with X11 version of GnuCash on MacOSX

John Ralls jralls at
Sat Oct 19 10:27:20 EDT 2013

On Oct 19, 2013, at 1:03 AM, Geert Janssens <janssens-geert at> wrote:

> Hi Mike,
> I don't know much about the internals of Gtk/Gdk either.
> You refer to a missing system schema. Perhaps this is because GnuCash 
> now overwrites the XDG_DATA_DIRS environment variable in some cases. 
> This is done in order to find the GnuCash specific schemas if GnuCash is 
> not installed in /usr.
> Can you perhaps run a git bisect to pinpoint the exact commit that first 
> shows this error ? That would help to eliminate some speculation.

I dug through the code a bit and discovered that gdk_pixbuf_new_from_file does depend upon a function called
xdg_run_command_on_dirs (located in glib/gio/xdgmime/xdgmime.c if you want to go look at it) which tries to find
the mime files in the following directories (in order): $XDG_DATA_HOME, $HOME/.local/share, $XDG_DATA_DIRS. If it gets to $XDG_DATA_DIRS and it's not defined, it set it to /usr/local/share:/usr/share.

That last bit is probably the problem. It makes sense that in some cases users might want to override the default data directories and prevent them being searched, but perhaps glib should warn that that's not the case.

Mike, do you have XDG_DATA_DIRS set in your environment? Where are the mime and mime-info directories installed on your system? If you're not using it for something else, you could try pointing XDG_DATA_HOME at that directory.

John Ralls

More information about the gnucash-devel mailing list