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
_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to