[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cross-building GuixSD (and maybe using pre-built toolchains)
From: |
Ludovic Courtès |
Subject: |
Re: Cross-building GuixSD (and maybe using pre-built toolchains) |
Date: |
Thu, 01 Sep 2016 10:10:15 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Paul Boddie <address@hidden> skribis:
> On Wednesday 31. August 2016 22.04.35 Ludovic Courtès wrote:
[...]
>> > I noticed that Arch Linux and its relative Parabola GNU/Linux support the
>> > target machine using distcc as a client and having distcc servers cross-
>> > compile code for the target architecture. That seems to require the
>> > coordinating host to be running Arch/Parabola, which then means that some
>> > bootstrapping needs to be done already. Could a similar thing be done
>> > with GuixSD?
>>
>> Yes, using offloading:
>>
>>
>> https://www.gnu.org/software/guix/manual/html_node/Daemon-Offload-Setup.html
>>
>> If your master node is x86_64 and its machines.scm lists a mips64el
>> machine as in the example above, then “guix build foo -s mips64el-linux”
>> automatically offloads to that mips machine. (This is the mechanism our
>> hydra.gnu.org build farm uses.)
>
> But this seems like the opposite of the approach in Arch/Parabola: there, the
> target machine (mips64el) coordinates the build, with the farm machines
> (x86_64) cross-compiling the sources. The benefit is that architectures with
> less powerful hardware can have their packages built for them, but this would
> presumably be contrary to the principles employed by Guix, where native
> builds
> are mandatory for viability and, I guess, reproducibility reasons.
I should mention that native builds are also subject to offloading. So
if your main machine is x86_64 and has a machines.scm file that lists
other x86_64 machines, then native builds can be offloaded to them.
If you cross-compile from x86_64, it’s a native build that can be
offloaded to another x86_64 machine.
Hope this clarifies things!
Ludo’.
- Re: Cross-building GuixSD (and maybe using pre-built toolchains),
Ludovic Courtès <=