[GNC-dev] Gnucash built from git doesn't start

Lothar Paltins lkpgcd at mailbox.org
Mon Oct 28 06:19:56 EDT 2019


Am 27.10.19 um 16:50 schrieb John Ralls:
> As it turns out Geert thought that he'd fixed this last year, see https://bugs.gnucash.org/show_bug.cgi?id=794916. Note the work-around in that bug report to disable binreloc by passing -DENABLE_BINRELOC=OFF to cmake. Note also that the reporter on that bug thought that writing the environment file to /etc/opt was undesirable.

Some people like the FHS, some don't. Somebody who doesn't like the FHS, 
can execute "cmake -DCMAKE_INSTALL_PREFIX=/opt/gnucash 
-DCMAKE_INSTALL_SYSCONFDIR=/opt/gnucash/etc". This installs the file 
/opt/gnucash/etc/gnucash/environment and it works.

But cmake installs configuration files for /opt/<subdir> to 
/etc/opt/<subdir>, if no other SYSCONFDIR is specified explicitly.

It seems, that the bug 794916 wasn't completely fixed. I've now used 
strace to see, where gnucash actually looks for the environment file. 
It tries to open these files:

/opt/gnucash/etc/opt/gnucash/gnucash/environment
/opt/gnucash/etc/opt/gnucash/gnucash/environment.local

After creating this strange directory and copying the environment file 
to it, gnucash starts and works.

I think, there are two issues:

The first issue is only a cosmetic one. If SYSCONFDIR already specifies 
a private directory, e.g. /etc/opt/gnucash, then it's not necessary to 
create another gnucash subdirectory. That is, the environment file 
should be in /etc/opt/gnucash/ and not in /etc/opt/gnucash/gnucash/ or 
in /opt/gnucash/etc/ instead of /opt/gnucash/etc/gnucash/. But this may 
be hard to fix and it's not a real issue.

The second issue is more important. Gnucash should look for the file in 
the actual SYSCONFDIR, wherever it may be, specified by the cmake 
command line and the GNUInstallDirs module.

Best regards
Lothar


More information about the gnucash-devel mailing list