From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id MPu4KkW2p2GdZgAAgWs5BA (envelope-from ) for ; Wed, 01 Dec 2021 18:52:05 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id QCx8JkW2p2GmNwAAB5/wlQ (envelope-from ) for ; Wed, 01 Dec 2021 17:52:05 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 7A3BB2D9CB for ; Wed, 1 Dec 2021 18:52:00 +0100 (CET) Received: from localhost ([::1]:48500 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1msTlv-0004vg-MK for larch@yhetil.org; Wed, 01 Dec 2021 12:51:59 -0500 Received: from eggs.gnu.org ([209.51.188.92]:35988) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msTk2-0002uz-L3 for guix-devel@gnu.org; Wed, 01 Dec 2021 12:50:02 -0500 Received: from [2001:470:142:3::e] (port=32980 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msTk2-0001AC-9Z; Wed, 01 Dec 2021 12:50:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=KixiTqrVZD+VIgQKLTIZF8/GeghNuNec61oZj+CTQTY=; b=BAIO78QgfEn6hF/lUwHp lUR58kSpbYJYSzjg9TokZoNK8KyX23wJNvTpoIUQS0c55PxrZNIO+Qu9a/hNxZTntca2uA4G/3RUJ 0bUlT6/ZuakNdXU3dEb8Ygvu7eDrTRrzq5hF9X6dJjgvZbvtzMc63CcIoAoBwtxE1VKiSYey8vGO4 M9CTF2iA3d2QksZltkPWj2H8DOxV+wqeeMFomWpT1xc/tZ/IgoFzXDK0pb+j+ofU7PzmNV63wtRt1 E2t094on/hac2cB/cCy2gvXF7bakA0qdqJyPxEpPbt/eTvZ23WkxRhoLRUTjuAiH+Qut+18IOb71F uPA60NGrPb0wyQ==; Received: from 91-160-117-201.subs.proxad.net ([91.160.117.201]:49298 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1msTk1-00012w-Rg; Wed, 01 Dec 2021 12:50:02 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: Desktops on non-x86_64 systems References: <8735nh8bvw.fsf@inria.fr> <87sfvhnrm2.fsf@elephly.net> <87pmql6kug.fsf@gmail.com> <87lf196jrg.fsf@gmail.com> <874k7w9nm9.fsf@gnu.org> <87pmqghqiy.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Frimaire an 230 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Wed, 01 Dec 2021 18:49:59 +0100 In-Reply-To: <87pmqghqiy.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 30 Nov 2021 23:56:21 -0500") Message-ID: <87mtlkz03c.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: guix-devel@gnu.org Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1638381120; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=KixiTqrVZD+VIgQKLTIZF8/GeghNuNec61oZj+CTQTY=; b=QTtTIyaIm3duQXLRw6Aj2NgHWNcBDdFj0qSahjDTlSdZk8hAWZlUgLU3/K0wsFm77J8f+s jwtgy1cvSSjh6JTMp+RsVHLFuZFEQGvyLOu6n6PJTcDDDVLy0lRX4IeQMW8gzakgOUwfl+ tkvGYnMadCZ4P7EnSqUI3bI6eWYwwJzG1811qXEaH+BKh/hUhrgtej/wI7CLeGiy5u9G65 UPqeDVVOkMnnzHApxsMkyKs65tx92Nlz17/rFT09inECMHF/0KFbi8lKufG22578tY67JV e5eMFxzZMqYNUg+aFaDMBlfTYXnCIUNPB66kzVDo8tHPoFyb3xTGjbyc9045Zw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1638381120; a=rsa-sha256; cv=none; b=s9Cr1u0VeF4U0KhrrvQIXk1dBjmrFay32H0+awcJgD/RLgyyd3gV+EOtLvPKaxlTbO8rAr /cp/m9QbIu/Ahi09i99E7srZpN7/Or8SdXAzUF5qAxMOi7+5tR7M1Kmf3HbPGaycQzViPV 1Jj/qVZwjzPbBitBf29GI+z5uruaP0fj46hBIVgpPamgUlX0MMM8HNrjOP+20DwFBdIXMk /I4XTgDdHswih0g434KqjiLWKk8T5vb28Ux8A7vps+uKer1YLQYgAEMjYn3abHm3H7oxAO QAz2uYH/+KPTvVK7ZuPVaUQpZhkEL1zipO1j397ixjv64N/ZxCOSJgw1sX1TjQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=BAIO78Qg; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -5.32 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=BAIO78Qg; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 7A3BB2D9CB X-Spam-Score: -5.32 X-Migadu-Scanner: scn0.migadu.com X-TUID: gpd2inUWwUSg Hi! Maxim Cournoyer skribis: > I've updated the branch wip-cross-built-rust; it seems to build and run > OK (although running the binary produced by compiling hello.rs with the > cross-built i686-linux rustc in a 32 bit VM took 47 sec (!?)), > apparently hanging on something before outputting correctly the message > and exiting with 0. > > I'd now like to figure out the top-level plumbing required to get this > rust-i686-linux x86-64 package accepted in the real of i686-linux > packages (cross the architecture boundary). Is this even possible in > Guix? > > In other words, I'd like the i686 architecture to be able to use this > rust-i686-linux cross built from x86_64 as if it was a *native* package. It=E2=80=99s not possible as it would imply that i686 is able to run x86_64 code. What we=E2=80=99d need to do is =E2=80=9Ccut the dependency graph=E2=80=9D = at the architecture boundary, similar to what=E2=80=99s described in . Concretely, we=E2=80=99d cross-build Rust for i686 once; we=E2=80=99d put i= t in a tarball, store it at ftp.gnu.org, and make the rust 1.54 package (or whatever that is) be equal so that tarball, unpacked, when the current system is i686. (Similar to the =E2=80=98guile-bootstrap=E2=80=99 package.) It does mean that the cross-built Rust must be statically linked. To reduce the risks associated with binary blobs, the Rust build should ideally be reproducible, so that anyone can verify that the thing we put at ftp.gnu.org is indeed Rust as cross-compiled from x86_64. How long is the road ahead in your opinion? Thanks for working on it! Ludo=E2=80=99.