[GNC-dev] Building on Windows

John Ralls jralls at ceridwen.us
Sat Aug 24 12:22:42 EDT 2019

> On Aug 23, 2019, at 11:28 PM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> Op vrijdag 23 augustus 2019 22:49:12 CEST schreef Matthew Forbis via gnucash-
> devel:
>> I have finally had time to sit down and try again.  When libxml development
>> was installed via pacman, it installed icu64 in addition to the icu61 that
>> was already installed by the gnucash script.  I was able to remove icu64
>> and clear out the entire build and inst directories and try again.  It
>> built without errors at that point and then the first time I ran, it
>> crashed.  I had to do a glib-compile-schemas in order for it to run at that
>> point.  (I'm just documenting manual interactions in case the scripts
>> should be updated some for others).
>> Thanks all for your help so far.  Now onto trying to debug the chart hang
>> problem.
> Thanks for the feedback.
> How exactly did you run gnucash ?
> I think the whole windows build system is set up to create a Windows installer 
> for the gnucash package and run gnucash after this installer has run.
> On the other hand, if simply running the glib-compile-schemas on the end 
> result of the build script helps you run it without invoking the Windows 
> installer, that's a worthwile bonus.
> I *thought* we did run this while building, but a quick scan of the build 
> scripts suggest it's only run while bundling gnucash. I wonder why that is. 
> Perhaps John remembers.

Because everything else that uses GSettings is built by MinGW, because there's no need for GSettings during the build process and glib-compile-schemas is comprehensive so running it once at the end does the job.

IIRC we disabled compiling the schemas at build time because it set up the paths for the build directory and so the compiled schemas failed after the install step.

As for the build system set up, build_package.ps1 does indeed build a setup.exe for distribution and even uploads it to the distribution server if provided with an upload URI. For other purposes the build system does require a bit of manual intervention. That's equally true on Unix including MacOS.

John Ralls

More information about the gnucash-devel mailing list