Problem with X11 version of GnuCash on MacOSX

Mike Alexander mta at
Sat Oct 19 21:24:16 EDT 2013

On Oct 19, 2013, at 3:59 PM, John Ralls <jralls at> wrote:

> If you mean you did
> -     echo "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:/usr/local/share/:/usr/share/" >> $@.tmp; \
> +     echo "XDG_DATA_DIRS=$(prefix)/share:${XDG_DATA_DIRS}:/usr/local/share/:/usr/share/" >> $@.tmp; \ 
> then I think that's right and what Geert meant to do in the first place.

Not quite.  I changed it so it takes either the run time or compile time value, preferring the run time value:

+	echo "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:$(XDG_DATA_DIRS):/usr/local/share/:/usr/share/" >> $@.tmp; \

> is munged, then parsed in gnucash-bin.c. I don't think that the separators are passed as-is to the OS.

Right.  Actually it uses the GLib key-value file parser to parse the file and this requires semicolon delimiters between values.  I changed the value for XDG_DATA_DIRS to use ";" instead of ":".  I also changed environment_override in gnucash-bin.c to skip null values in path lists so a missing XDG_DATA_DIRS won't clutter up the list.

I'll check these changes in later when I'm sure they work.


More information about the gnucash-devel mailing list