From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Cross-building GuixSD (and maybe using pre-built toolchains) Date: Thu, 01 Sep 2016 10:17:01 +0200 Message-ID: <87k2ewuj9e.fsf@gnu.org> 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]:40561) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bfNBP-0000XO-Ie for help-guix@gnu.org; Thu, 01 Sep 2016 04:17:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bfNBJ-0007GQ-IX for help-guix@gnu.org; Thu, 01 Sep 2016 04:17:10 -0400 In-Reply-To: (David Craven's message of "Thu, 1 Sep 2016 00:01:25 +0200") 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: David Craven Cc: help-guix@gnu.org Hi David, David Craven skribis: >>> 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 Guix= SD >> 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 particu= lar 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. Aaah OK. That=E2=80=99s not cross-compilation though, so it works if and o= nly if substitutes are available or builds can be offloaded to a machine of that architecture. Otherwise it cannot really work. Now, in most cases, the tiny Guile derivations created via =E2=80=98gexp->derivation=E2=80=99 et al. in GuixSD (e.g., the derivation t= hat builds the initrd) could use, say, an x86_64 Guile, even if building for mips64el. However, it would be difficult to take advantage of this AFAICS. Ludo=E2=80=99.