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,
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to