[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cross-building GuixSD (and maybe using pre-built toolchains)
From: |
David Craven |
Subject: |
Re: Cross-building GuixSD (and maybe using pre-built toolchains) |
Date: |
Thu, 1 Sep 2016 00:01:25 +0200 |
Hi Ludo,
>> So one issue that happens when cross building is for things that have
>> the #:no-substitutes #t enabled. This is mainly found in service
>> derivations for generating configuration files.
>
> I think there’s currently no easy way to cross build a full GuixSD
> anyway, like ‘guix system build --target=mips64el-linux-gnu’ (the
> --target flag doesn’t exist yet). Or did you experiment in this area?
>
> I’d be curious. It’s designed to allow this (in particular because
> gexps are cross-compilation-aware), but I’ve never tried.
I'm currently not trying to cross-compile everything. The
--system=mips64el-linux gets us pretty far already. The missing parts
are only the ones where no substitutes are available.
What I've done so far is remove grub from the system/vm.scm file which
is added as a hard dependency (even when run with --no-grub). That
gets guix system build arm-minimal.scm --system=armhf-linux to
download all the substitutable dependencies but then fails at the end.
The other thing I've tried is guix system vm arm-minimal.scm
--system=armhf-linux. This fails when it tries to fetch
gstreamer-plugins-bad. This is required to build spice-gtk-viewer
which is required to run the tests for spice. This looks like qemu is
added as an input somewhere when it should be a native-input.
Other than these two issues I don't think that getting guixsd arm
running in qemu is too far off. This of course doesn't help
bootstrapping a new architecture, but it's nice for developers to be
able to test stuff on arm or mips.
Thanks,
David