Paul Boddie <p...@boddie.org.uk> skribis: > When you write "cross-compile from x86_64" do you mean run a cross-compiler > on > an x86_64 host that targets another architecture? (I'm guessing "yes".)
Yes. > From previous questions, it appears that any compiler must have been built > specifically for Guix to use (and cannot be those those pre-built toolchains > provided by, say, Debian), so would these cross-compilers be the ones > normally > used to generate the "bootstrap binaries" (that would normally be used to > then > build packages on the target system)? Yes, Guix packages only depend on other Guix packages; there cannot be dependencies on external packages. > Or do I first bootstrap Guix on my (x86_64, in this example) "build system", > then generate special cross-compilers for my target architecture (that are > then exposed via offloading)? Offloading and cross-compilation are unrelated. Offloading is just a mechanism that allows distributed builds. Guix supports x86_64-linux-gnu, so, IOW, the distro is already “bootstrapped” for that platform. There’s nothing special to be done. I’m trying to find ways to rephrase this, but I can’t think of other ways than what the “Bootstrapping” and “Porting” sections of the manuals say. :-) > And can I provide a foreign architecture build daemon on the same machine as > the one performing the build? No. > Sorry if this is all obvious or if I'm not assuming that what is possible is > actually possible! I'm used to discovering limitations with build systems. > (To > me it is remarkable that given all the portable things like shell scripts > that > do a lot of the lifting in build processes, many build systems have an > unreasonable affinity to the build host's architecture.) > > Thanks for all the help! No problem! I realize it can be difficult to convey the big picture of Guix here to someone already familiar with other build systems. Ludo’.