diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-07-21T09·19+0200 |
---|---|---|
committer | Domen Kožar <domen@dev.si> | 2016-07-21T09·19+0200 |
commit | 2ec9d2fb02e8b181009c9a7292c7d5af382af277 (patch) | |
tree | cb913df35dbe31b34a68ed1c7458fce85ec94d47 | |
parent | 2d5a99baf07dc463e8ef326ba1fcc90f65511858 (diff) |
NIX_REMOTE_SYSTEMS path must be absolute (#957)
Once upon a time, I wrote my bachelors thesis about functional deployment mechanisms. I had to evaluate several szenarios where package management and deployment were relevant. One szenario was to do distributed builds over several machines. I told myself: Weee, nix can do this! And with nix, this is actually save, as you do not have side effects when building! So I started. I use a cloud to set up four virtual machines where I wanted to do the build. A fifth machine was used as master to distribute the builds. All was good. I created the necessary SSH keys, made sure every machine was reachable by the master and configured the build in my remotes.conf. When I started to try to build weechat from source, the build failed. It failed, telling me error: unable to start any build; either increase ‘--max-jobs’ or enable distributed builds And I started to dig around. I digged long and good. But I wasn't able to find the issue. I double and triple checked my environment variables, my settings, the SSH key and everything. I reached out to fellow Nixers by asking on the nixos IRC channel. And I got help. But we weren't able to find the issue, either. So I became frustrated. I re-did all the environment variables. And suddenly,... it worked! What did I change? Well... I made the environment variables which contained pathes contain absolute pathes rather than relatives. And because I like to share my knowledge, this should be put into the documentation, so others do not bang their heads against the wall because something is not documented somewhere.
-rw-r--r-- | doc/manual/advanced-topics/distributed-builds.xml | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/doc/manual/advanced-topics/distributed-builds.xml b/doc/manual/advanced-topics/distributed-builds.xml index 70f396f81cdb..032455bd34e1 100644 --- a/doc/manual/advanced-topics/distributed-builds.xml +++ b/doc/manual/advanced-topics/distributed-builds.xml @@ -44,7 +44,8 @@ outputs and perform the remote build. To use it, you should set <envar>NIX_BUILD_HOOK</envar> to <filename><replaceable>prefix</replaceable>/libexec/nix/build-remote.pl</filename>. You should also define a list of available build machines and point -the environment variable <envar>NIX_REMOTE_SYSTEMS</envar> to it. An +the environment variable <envar>NIX_REMOTE_SYSTEMS</envar> to it (the +path has to be absolute, otherwise nix will fail to distribute the build). An example configuration is shown in <xref linkend='ex-remote-systems' />. Each line in the file specifies a machine, with the following bits of information: |