From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Craven Subject: Re: Cross-building GuixSD (and maybe using pre-built toolchains) Date: Thu, 1 Sep 2016 00:01:25 +0200 Message-ID: References: <87d1kon1lf.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:35315) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfDZg-0002gn-NE for help-guix@gnu.org; Wed, 31 Aug 2016 18:01:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bfDZZ-0000Dd-Ni for help-guix@gnu.org; Wed, 31 Aug 2016 18:01:35 -0400 Received: from mail-yb0-x236.google.com ([2607:f8b0:4002:c09::236]:34808) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfDZY-0000CX-GG for help-guix@gnu.org; Wed, 31 Aug 2016 18:01:29 -0400 Received: by mail-yb0-x236.google.com with SMTP id x93so22170193ybh.1 for ; Wed, 31 Aug 2016 15:01:26 -0700 (PDT) In-Reply-To: <87d1kon1lf.fsf@gnu.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: help-guix@gnu.org 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=E2=80=99s currently no easy way to cross build a full GuixS= D > anyway, like =E2=80=98guix system build --target=3Dmips64el-linux-gnu=E2= =80=99 (the > --target flag doesn=E2=80=99t exist yet). Or did you experiment in this = area? > > I=E2=80=99d be curious. It=E2=80=99s designed to allow this (in particul= ar because > gexps are cross-compilation-aware), but I=E2=80=99ve never tried. I'm currently not trying to cross-compile everything. The --system=3Dmips64el-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=3Darmhf-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=3Darmhf-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