[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42888: closed ([PATCH] gnu: rust: Fix install phase for non-x86_64 p

From: GNU bug Tracking System
Subject: bug#42888: closed ([PATCH] gnu: rust: Fix install phase for non-x86_64 platforms.)
Date: Fri, 25 Sep 2020 20:04:02 +0000

Your message dated Fri, 25 Sep 2020 21:03:23 +0100
with message-id <87mu1d8vzo.fsf@gmx.com>
and subject line Re: [bug#42888] [PATCH] gnu: rust: Fix install phase for 
non-x86_64 platforms.
has caused the debbugs.gnu.org bug report #42888,
regarding [PATCH] gnu: rust: Fix install phase for non-x86_64 platforms.
to be marked as done.

(If you believe you have received this mail in error, please contact

42888: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42888
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: [PATCH] gnu: rust: Fix install phase for non-x86_64 platforms. Date: Sun, 16 Aug 2020 15:12:08 +0100 User-agent: mu4e 1.4.13; emacs 26.3
Hello Guix!

In an optimistic attempt to eventually have Icecat on a Pinebook Pro, I
thought I'd try and get rust building on aarch64. Here's a fix for the
post-install phase that had an x86 triplet hardcoded. With this we're
able to start off the bootstrap chain!

That being said, each step takes ~5 hours on this machine so this is
going to take a while :-), it's currently working on 1.23.

So, I suppose this should go into either core-updates or staging? WDYT?


Attachment: 0001-gnu-rust-Fix-install-phase-for-non-x86_64-platforms.patch
Description: Text Data

--- End Message ---
--- Begin Message --- Subject: Re: [bug#42888] [PATCH] gnu: rust: Fix install phase for non-x86_64 platforms. Date: Fri, 25 Sep 2020 21:03:23 +0100 User-agent: mu4e 1.4.13; emacs 27.1
Marius Bakke writes:

> Pierre Langlois <pierre.langlois@gmx.com> writes:
>> Hello Guix!
>> Pierre Langlois writes:
>>> Hi Jakub,
>>> Jakub Kądziołka writes:
>> (snip)
>>>> Pierre,
>>>> thanks for your patch! I was working on a similar change before, but
>>>> when I tried it, it failed even earlier in the bootstrap chain. It
>>>> might've been QEMU weirdness, though, a la #42448.
>>>>> @@ -612,9 +613,10 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\"
>>>>>                         (cargo-out (assoc-ref outputs "cargo")))
>>>>>                     (for-each
>>>>>                       (lambda (file) (delete-manifest-file out file))
>>>>> -                     '("install.log"
>>>>> +                     `("install.log"
>>>>>                         "manifest-rust-docs"
>>>>> -                       "manifest-rust-std-x86_64-unknown-linux-gnu"
>>>>> +                       ,,(string-append "manifest-rust-std-"
>>>>> +                                        
>>>>> (nix-system->gnu-triplet-for-rust))
>>>>>                         "manifest-rustc"))
>>>>>                     (for-each
>>>>>                       (lambda (file) (delete-manifest-file cargo-out 
>>>>> file))
>>>> If I understand the code correctly, this quasiquote is unnecessary, as
>>>> the host-side code will evaluate to a string that can be inserted as-is,
>>>> without another unquote on the build side.
>>>> Fixing this would mean that the patch can go on master, since it would
>>>> now only trigger rebuilds on architectures that are already broken.
>>> Ooooh yeah, that'll be much better, I've attached a patch that does just
>>> that. I can confirm it doesn't trigger a full rebuild, nice!
>> I've just rebased this patch and fixed a little formatting issue. I've
>> made sure, it doesn't trigger any rust rebuilds on x86.
>> Is this OK to commit?
> LGTM!  Thanks a lot for tackling this long-standing issue.

Thanks! Pushed as 2bab532fdfaa54a085abc0ac7fc2c859ee31f640.

> Were you able to build all the way to the latest Rust?

No not yet :-/, I got it building up to 1.26, having to fix most steps
with tests failing here and there. In the end I ran out of steam trying
to build 1.27 and thought we'd be better off waiting until we can
bootstrap from 1.29. I don't remember exactly what issues I had with
1.27, I've attacked my WIP patch in case somebody is interested

After that, I gave the patches on https://issues.guix.gnu.org/38110 a
go, however as Danny mentions on the thread, linking consumes too much
memory. I'm using a RockPro64 and it only has 4G of RAM.

Somebody on github https://github.com/thepowersgang/mrustc/issues/138
mentioned we could try building with LLD so I tried that as well (patch
attached) but memory consumption was still too much. That being said, I
might not have had any swap file at the time, I'll try again :-).

Soooo, yeah I don't know what the best approach is. We can try and get
the current chain building and start upstreaming bits of my WIP patch or
try and find a solution for the mrustc memory issue.

Anyway, I haven't given up! :-) I'd really like to see IceCat on aarch64
eventually for the PineBook Pro. Although there are quite a few other
things to fix on that platform first.


Attachment: signature.asc
Description: PGP signature

Attachment: 0001-wip.patch
Description: Text Data

Attachment: 0001-mrustc-Use-lld.patch
Description: Text Data

--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]