[Nix-dev] How do I know I can enableParallelBuilding?

Vladimír Čunát vcunat at gmail.com
Sat Oct 15 23:21:46 CEST 2016


On 10/15/2016 12:54 AM, Profpatsch wrote:
> enableParallelBuilding is disabled by default, because it often
> introduces non-deterministic build behaviour.
> 
> How can I check whether the builds will behave nicely?
> I think executing twice on the same system would often result
> in quasi-deterministic behaviour.
> Do we have CI automation in place that can detect stuff like that?

We have no automation for this. In general, you can perform a build
again (--check as root).

In my experience, parallel make problems tend to fail the build only and
not produce a different output. Trying on an 8-thread-capable machine
that's otherwise idle tends to be a relatively reliable way to tell, I
believe.

> What are general hints to whether stuff might be (non)deterministic?
> 
> We should als document why parallel building is disabled by default.

There wasn't a perfect consensus on that, actually.
For example, I personally think we could have `build-cores = 0` by
default, as we only leave enableParallelBuilding = true for packages
that don't fail because of it.

--Vladimir


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3771 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.science.uu.nl/pipermail/nix-dev/attachments/20161015/0edd54b1/attachment.p7s>


More information about the nix-dev mailing list