[GNC-dev] Noob: setup and build master

John Ralls jralls at ceridwen.us
Wed Mar 11 23:13:39 EDT 2020

> On Mar 11, 2020, at 2:35 PM, jeanl <ripngo at gmail.com> wrote:
> Hi People,
> Thanks to John I was able to setup and build maint on my mac. I'm now trying
> to setup and build master which I've pulled into src/gnucash-git
> Can someone clarify these points:
> - I imagine I need to edit jhbuildrc-cusom and change the branch to master.
> Do I do that before any of the following?
> - Do I need to re-run jhbuild bootstrap?
> - Do I need to re-run jhbuild bootstrap-gtk-osx?
> - Do I need to re-run jhbuild build? (assuming yes).


You only need to reconfigure and rebuild gnucash. At this point all dependencies are the same between master and maint. I do that in a jhbuild shell because as I said elsewhere I build from the terminal prompt, so I want to make an edit and then run ninja && ninja check (or more often ninja test-target && bin/test-program, TDD and all that).

There's one cmake change between the two branches. In maint you set -DGTEST_ROOT=path/to/googletest/googletest -DGMOCK_ROOT=path/to/googletest/googlemock and in master you set only -DGTEST_ROOT=path/to/googletest. It works best to have a separate build directory and rm -rf * && cmake ... to switch branches.

One other thing, make sure you uninstall GnuCash beforehand, the maint and master libraries are incompatible and Guile will dlopen the installed libraries in preference to the ones in the build directory. ninja uninstall doesn't always work, so if it fails try xargs rm < install_manifest.txt. If *that* fails the `rm -r $PREFIX/lib/libgnc* $PREFIX/lib/gnucash` should be sufficient.

John Ralls

More information about the gnucash-devel mailing list