GNOME Bugzilla – Bug 779576
Rebuilding on a very fast machine with ssd can break a cmake/ninja-build
Last modified: 2018-06-29 23:55:03 UTC
Created attachment 347220 [details] First build failure Contrary to make, ninja-build is heavily focused on parallel building as much as possible. It appears our dependency tree as we have configured it in our CMakeList.txt files is sometimes not explicit enough, causing ninja-build to sometimes build objects before its dependencies are built. I suspect this is a side-effect of using gnc-module loading in scm files. We never really paid much attention to this because gnc-module is intended to be used when gnucash is run. In that situation all dependencies are available (barring a bad install). However with the move to guile2 we are precompiling our scm files (to ensure a clean scm compile cache). Compiling scm files will also activate gnc-module calls, this time during the build cycle when not all modules may be available yet. On a fast machine (on ssd) when doing a partial rebuild, this will sometimes cause the build to fail. I have never seen it yet on a fresh build, though in theory that's still possible. Usually the problem solves itself simply be restarting the build (perhaps more than once).
Created attachment 347221 [details] Second build failure I have added two build failures I ran into while rebuilding after changing the file src/register/register-gnome/icon-edit.c I had built the whole project right before changing the file without errors. Then changed the file and started ninja-build again. This resulted in the first failure. Simply started ninja-build once more, resulting in the second failure. Starting ninja-build a third time completed the build without any further errors.
This is no longer an issue with gnucash 3.0. The parallel build issues have been sorted out.
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=779576. Please update any external references or bookmarks.