Subject: Re: [bug#28433] [WIP] Rust update

From: ng0 <[email-masked]>
Date: Tue, 28 Nov 2017 06:35:17 +0000

Hey Danny,

what's missing here? rustc has been released as 1.22.1 since this thread
started. I hope to introduce some people in January at our GNUnet
workshop to the open tasks on the Guix rust-build-system and - depending
on how they judge their own abilities - get them to work on this throughout
the year.

Danny Milosavljevic transcribed 0.9K bytes:
> 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?
> 
> 
> 
> 

-- 
GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588
GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys
  WWW: https://n0.is