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

John Ralls jralls at ceridwen.us
Sun Oct 27 11:50:46 EDT 2019

> On Oct 27, 2019, at 3:19 AM, Lothar Paltins <lkpgcd at mailbox.org> wrote:
> Am 25.10.19 um 21:27 schrieb Geert Janssens:
>> Gnucash historically was using the autotools build system. As far as I know
>> that system did put the config files in /opt/gnucash/etc/gnucash and not in /
>> etc/opt/gnucash(/gnucash)
> Yes, if you run "configure --prefix=/opt/gnucash". There's no automagic splitting of the subdirectories depending on the path. But you could easily split the installation paths if you want to follow the FHS by adding "--sysconfdir=/etc/opt/gnucash --localstatedir=/var/opt/gnucash" and maybe other options.
>> Although the gnucash project since has migrated to exclusively use cmake, it
>> may very well be it still expects the files to be in /opt/gnucash/etc/gnucash.
>> Does it work if you copy the files in that subdirectory ?
> No, it doesn't.
>> Not that it matters that much, we should eventually fix it to work with the
>> paths as prescribed in the fhs.
> I've seen, that the FHS splitting isn't done by cmake itself, it's done because gnucash includes the GNUInstallDirs module. But as far as I see, the directories can be overwritten by the user by setting the appropriate variables. Therefore gnucash shouldn't assume fixed paths, instead it should use the actual installation paths chosen by the user and by cmake.

Yes, the GNUInstallDirs module is needed to get the build to work correctly for the Linux distros.

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.

John Ralls

More information about the gnucash-devel mailing list