Hi everyone,

first of all  a happy new year to you all.

I tried to compile GC 4.9 on Linux Mint 20 ulyana following the recommendations below. The build and installation process worked fine. However, when I run the /opt/gnucash/bin/gnucash command, I get heaps of error messages that follow the following pattern.

To find the last stable version, please refer to https://www.gnucash.org/
;;; WARNING: loading compiled file /opt/gnucash/lib/x86_64-linux-gnu/guile/2.2/site-ccache/gnucash/utilities.go failed: ;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01ÿ\x00\x00\x00\x00\x00\x00\x00\x00" ;;; WARNING: loading compiled file /opt/gnucash/lib/x86_64-linux-gnu/guile/2.2/site-ccache/gnucash/core-utils.go failed: ;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01ÿ\x00\x00\x00\x00\x00\x00\x00\x00" ;;; WARNING: loading compiled file /opt/gnucash/lib/x86_64-linux-gnu/guile/2.2/site-ccache/gnucash/engine.go failed: ;;; ERROR: In procedure make_objcode_from_file: bad header on object file: "\x7fELF\x02\x01\x01ÿ\x00\x00\x00\x00\x00\x00\x00\x00"
...

Also some pie charts are not displayed. Only some fractions of the legend.

I have also followed the dependency guide on:
https://wiki.gnucash.org/wiki/Uninstall_Gnucash_Linux

with the following changes deviating from the example:
  sudo apt install swig3.0 (was 2.0, but highlighted that newer version were also available on the system)   sudo apt install libgwenhywfar-core-dev libgwenhywfar79 libgwenhywfar79-dev   #was: sudo apt install gwenhywfar-tools libgwenhywfar60 libgwenhywfar60-dev
  sudo apt install libgwengui-gtk3-0 libgwengui-gtk3-dev
  # was: sudo apt install libgwengui-gtk3 libgwengui-gtk3-dev

In the 'about' info window the following version is indicated.
Version 4.8
Build ID: git 4.9+(2021-12-18)
Finance-Quote: 1.51

I also did not have a previous 4.x version installed. Only the default 3.8 version that was released with the 'ulyana' Mint version. This version was uninstalled before installing 4.9.

Any advice on this subject would be greatly appreciated.

Thanks,
Dirk


On 31.12.21 13:02, Christian Wehling wrote:
Hi John, Geert,
It works, thanks for your help!

What have I done?
1. emptied all old, not needed build directories and uninstalled the old 
flatpak version.
2. removed all org.gnucash.*.gschema.xml and gschemas.compiled from 
/usr/local/share/glib-
2.0/schemas/
3. deleted $HOME/.cache/dconf
4. install GnuCash 4.9 again

Regards and a happy new year,
Christian


Am Freitag, dem 31.12.2021 um 11:54 +0100 schrieb Geert Janssens:
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,
John Ralls

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to