From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37400) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9CiS-0000hp-1H for guix-patches@gnu.org; Mon, 30 Oct 2017 12:15:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9CiM-0004bY-EA for guix-patches@gnu.org; Mon, 30 Oct 2017 12:15:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:33762) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e9CiM-0004bP-9q for guix-patches@gnu.org; Mon, 30 Oct 2017 12:15:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e9CiM-0005X3-4A for guix-patches@gnu.org; Mon, 30 Oct 2017 12:15:02 -0400 Subject: [bug#28433] [WIP] Rust update Resent-Message-ID: Date: Mon, 30 Oct 2017 17:14:15 +0100 From: Danny Milosavljevic Message-ID: <20171030171415.0cf6c27d@scratchpost.org> In-Reply-To: <8760aw7ijp.fsf@gnu.org> References: <20170912185023.7de883ff@scratchpost.org> <873767cnsu.fsf@elephly.net> <20171026101728.6493ef46@scratchpost.org> <20171028124258.22553eee@scratchpost.org> <20171028133157.4dc52bd9@scratchpost.org> <20171028135726.76e5a14e@scratchpost.org> <87d1575dsw.fsf@gnu.org> <20171030123501.66cebab2@scratchpost.org> <8760aw7ijp.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: Ricardo Wurmus , 28433@debbugs.gnu.org Hi Ludo, > Yes, I think -m32 is a no-op in this case. Yep. I just got rustc to build a bootstrap executable (which fails when executing it [*], but hey, progress) by making a union-build with all the i686 libs. Feels kinda icky, but it seems that propagated-inputs don't remember the #:system it was for, so for example if A propagates B and A specifies system i686, and X specifies system x86_64 and X depends on A, then X's B will be x86_64. Weird but understandable I guess... Details: A: propagated-inputs B arguments system i686 X: native-inputs A arguments system x86_64 Now X's B is x86_64... The workaround is this: A: arguments system i686 native-inputs B union-build out/lib from B (etc) X: native-inputs A arguments system x86_64 That works. In our specific case A = "rust-bootstrap", X = "rustc", B = "glibc", "gcc:lib" etc. [*] Tries to load libgcc_s.so.1 from the glibc store directory. WTF?