Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gtk-doc output varies from parallelism #89

Open
bmwiedemann opened this issue Nov 29, 2019 · 2 comments
Open

gtk-doc output varies from parallelism #89

bmwiedemann opened this issue Nov 29, 2019 · 2 comments

Comments

@bmwiedemann
Copy link
Contributor

@bmwiedemann bmwiedemann commented Nov 29, 2019

While working on reproducible builds for openSUSE, I found that
our buzztrax package varies unless we build it with make -j1
without parallelism.

 <a name="BtCmdApplication.object-hierarchy"></a><h2>Object Hierarchy</h2>
 <pre class="screen">    <a href="/usr/share/gtk-doc/html/gobject/gobject-The-Ba
se-Object-Type.html#href_anchor">GObject</a>
-    <span class="lineart">╰──</span> BtApplication
+    <span class="lineart">╰──</span> <a href="../html/BtApplication.html#href_a
nchor">BtApplication</a>
         <span class="lineart">╰──</span> BtCmdApplication
 </pre>

These files are created by gtkdoc-fixxref called by make -C docs/reference/bt-cmd

It his something that can be fixed in buzztrax, or do we need to work with gtk-doc maintainers?

@ensonic

This comment has been minimized.

Copy link
Member

@ensonic ensonic commented Dec 20, 2019

Can't be fixed in gtk-doc (funny I am the gtk-doc maintainer). The docs could be build in paralell, but the xrefs have to be built in order. For now just don't built them in parallel if it doesn't work :).

@bmwiedemann

This comment has been minimized.

Copy link
Contributor Author

@bmwiedemann bmwiedemann commented Jan 7, 2020

Would be good, to have better documentation on how to do such a non-parallel build.

Currently we build the whole buzztrax with make -j4 (number depending on number of cores in build machine) and to make it reproducible, we could build it with make, but then all C code is also built without parallelism - increasing the total build time from 267 to 542 seconds.

One ugly hack could be to build everything with parallelism, then remove all docs and rebuild without parallelism. Not nice.

A better way would be to run non-parallel make docs as first step, but then the build fails with

In file included from src/lib/core/core.c:27:
src/lib/core/core_private.h:60:10: fatal error: marshal.h: No such file
 or directory
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.