After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 779576 - Rebuilding on a very fast machine with ssd can break a cmake/ninja-build
Rebuilding on a very fast machine with ssd can break a cmake/ninja-build
Status: RESOLVED FIXED
Product: GnuCash
Classification: Other
Component: Build system
git-master
Other Linux
: Normal normal
: ---
Assigned To: gnucash-core-maint
gnucash-core-maint
Depends on:
Blocks:
 
 
Reported: 2017-03-04 16:41 UTC by Geert Janssens
Modified: 2018-06-29 23:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
First build failure (4.73 KB, text/plain)
2017-03-04 16:41 UTC, Geert Janssens
Details
Second build failure (1.93 KB, text/plain)
2017-03-04 16:44 UTC, Geert Janssens
Details

Description Geert Janssens 2017-03-04 16:41:22 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).
Comment 1 Geert Janssens 2017-03-04 16:44:32 UTC
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.
Comment 2 Geert Janssens 2018-04-16 21:41:38 UTC
This is no longer an issue with gnucash 3.0. The parallel build issues have been sorted out.
Comment 3 John Ralls 2018-06-29 23:55:03 UTC
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.