[GNC-dev] Trouble with gsettings in GC 4.9
Geert Janssens
geert.gnucash at kobaltwit.be
Fri Dec 31 05:54:38 EST 2021
This is misleading.
Even the newer gnucash still installs schemas for org.gnucash.<something> next to
org.gnucash.GnuCash.<something>
In recent versions these are defined in org.gnucash.GnuCash.deprecated.gschema.xml (1)
So it's absolutely normal both will still show up in dconf.
However if there are *two* sets of gschema.xml files that define the same
org.gnucash.<something> schema, the glib schema compiler will bail out as soon as it
detects the first duplicate schema. As a result it won't reach the schema files starting with
org.gnucash.GnuCash and hence it won't compile the newer schema.
I have now looked at your dconf.backup file. It shows both org.gnucash.<something> and
org.gnucash.GnuCash.<something> entries. That's correct and should be so since gnucash
4.7. That's when I added the new schema.
I also went back to your very first message. In there you write:
> If I run:
> glib-compile-schemas --strict /usr/local/share/glib-2.0/schemas/
> /usr/local/share/glib-
> 2.0/schemas/org.gnucash.dialogs.business.gschema.xml:3:1 Fehler in
> Zeile 3, Zeichen 1: <schema id='org.gnucash.dialogs.business'> wurde
> bereits angegeben. --strict was specified; exiting.
This really points as /usr/local/share/glib-2.0/schemas as the cause. It holds gschema.xml
files from before gnucash 4.7 (the ones named org.gnucash.<something-not-GnuCash>
As we have been talking about this in all directions it's not clear to me whether these are still
there. If so, can you remove those and rerun
ninja install ?
Or instead of ninja install you can also do as John suggests in directly rerun glib-compile-
schemas. For that to work the org.gnucash.GnuCash.<something> schema files should be
left in that directory though.
Regards,
Geert
(1) We need to keep those
1. to be able to migrate the user' settings (a one-time event)
2. allow the user to downgrade without loosing preferences
The old schema is targeted for full removal only in gnucash 6.
Op donderdag 30 december 2021 22:22:11 CET schreef John Ralls:
> Yesterday you attached a dump from dconf that shows both org.gnucash.GnuCash
> and org.gnucash schema entries. If you're absolutely sure that you've
> gotten rid of all instances of org.gnucash.foo.schema.xml from everywhere
> outside of your gnucash-4.7 build directory and you've removed the
> gschemas.compiled files from those places then another possibility is that
> your version of dconf keeps a cache. See if $HOME/.caches/dconf exists and
> if it does, delete it.
>
> In that same letter you said your build procedure is
>
> > cd gnucash-4.9/build
> > cmake -G"Ninja" -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_PYTHON=ON
> > ../source sudo ninja install
>
> Please modify that to
> cd gnucash-4.9/build
> rm -rf * && cmake -G"Ninja" -D CMAKE_INSTALL_PREFIX=/usr/local -D
> WITH_PYTHON=ON ../source ninja
> sudo ninja install
>
> If that fails please paste the whole output either to an attachment or to
> some upload site like Github's GIST and tell us the URL to it.
>
> Regards,
More information about the gnucash-devel
mailing list