* Bootstrapping path discovered for RISC-V 64bit
@ 2024-07-03 15:16 Ekaitz Zarraga
2024-07-03 15:59 ` Efraim Flashner
0 siblings, 1 reply; 2+ messages in thread
From: Ekaitz Zarraga @ 2024-07-03 15:16 UTC (permalink / raw)
To: bug-guix@gnu.org, Andrius Štikonas, efraim@flashner.co.il,
Jan Nieuwenhuizen, guix-devel\@gnu.org
Hi,
Thanks to NlNet we have found a bootstrapping path for RISC-V 64 and we
created an alternative `commencement.scm` draft that builds from source
up to a GCC-9.
At the moment, that GCC-9 does not provide C++ support in my Guix
packages. I tried to add it but I had issues. We made it work for
live-bootstrap (Andrius did), and now it's time to move that to Guix but
it's getting a little bit difficult with GCC's build-system.
I'm opening this issue to make the handover to Guix. I have already
worked with Efraim and he agreed to continue with this work until it's
upstreamed. Also Janneke is working on a version of this commencement
module that adds support for x86, so we could use that for everything
instead of relying in two different bootstrapping paths.
This will take some time to integrate. There are a couple of packages
that I didn't bootstrap yet (but it's possible to bootstrap them):
`flex` and `bison`. Mostly because we wanted to fix
<https://issues.guix.gnu.org/52311>, too.
The Gash package is replaced with a non-bootstrapped Bash because
there's an issue in Gash that hangs the bootstrapping process. We have
reported it upstream. We should use Gash once the issue is fixed.
Also, we only made the path until a modern GCC, not all the rest of it,
that we should be able to reuse from the current `commencement.scm` module.
This is the link to the repo:
https://github.com/ekaitz-zarraga/commencement.scm
I'm more than open to help Guix include the RISC-V bootstrapping process
upstream, so if you have any question, suggestion or anything else, feel
free to directly contact me.
As a note, in this series of blogposts I shared the 2 year process until
today, and almost everything is documented:
https://ekaitz.elenq.tech/tag/bootstrapping-gcc-in-risc-v.html
Also, I'd like to publicly thank everyone who took part in this process.
Especially Andrius, for all those sleepless nights we spent fixing weird
compiler errors.
Let's make this finally happen!
Ekaitz
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Bootstrapping path discovered for RISC-V 64bit
2024-07-03 15:16 Bootstrapping path discovered for RISC-V 64bit Ekaitz Zarraga
@ 2024-07-03 15:59 ` Efraim Flashner
0 siblings, 0 replies; 2+ messages in thread
From: Efraim Flashner @ 2024-07-03 15:59 UTC (permalink / raw)
To: Ekaitz Zarraga
Cc: 71921, Andrius Štikonas, Jan Nieuwenhuizen,
guix-devel\@gnu.org
[-- Attachment #1: Type: text/plain, Size: 3171 bytes --]
On Wed, Jul 03, 2024 at 05:16:55PM +0200, Ekaitz Zarraga wrote:
> Hi,
>
> Thanks to NlNet we have found a bootstrapping path for RISC-V 64 and we
> created an alternative `commencement.scm` draft that builds from source up
> to a GCC-9.
>
> At the moment, that GCC-9 does not provide C++ support in my Guix packages.
> I tried to add it but I had issues. We made it work for live-bootstrap
> (Andrius did), and now it's time to move that to Guix but it's getting a
> little bit difficult with GCC's build-system.
>
> I'm opening this issue to make the handover to Guix. I have already worked
> with Efraim and he agreed to continue with this work until it's upstreamed.
> Also Janneke is working on a version of this commencement module that adds
> support for x86, so we could use that for everything instead of relying in
> two different bootstrapping paths.
It may be possible that we end up diverging slightly in parts of the
bootstrap; glibc didn't get support for riscv64 until relatively
recently, although we will have to see about combining your work on
backporting (successfully!) riscv64 support to gcc-4.6.4 with the
existing version of 4.6.4 in commencement.scm. In reality I foresee it
with more comments in commencement.scm and some conditionals to try to
keep the different architectures working within the same packages.
> This will take some time to integrate. There are a couple of packages that I
> didn't bootstrap yet (but it's possible to bootstrap them): `flex` and
> `bison`. Mostly because we wanted to fix
> <https://issues.guix.gnu.org/52311>, too.
Piece by piece, we'll get there :) Plus we have live-bootstrap to look
at for inspiration.
> The Gash package is replaced with a non-bootstrapped Bash because there's an
> issue in Gash that hangs the bootstrapping process. We have reported it
> upstream. We should use Gash once the issue is fixed.
>
> Also, we only made the path until a modern GCC, not all the rest of it, that
> we should be able to reuse from the current `commencement.scm` module.
>
> This is the link to the repo:
>
> https://github.com/ekaitz-zarraga/commencement.scm
>
> I'm more than open to help Guix include the RISC-V bootstrapping process
> upstream, so if you have any question, suggestion or anything else, feel
> free to directly contact me.
>
> As a note, in this series of blogposts I shared the 2 year process until
> today, and almost everything is documented:
>
> https://ekaitz.elenq.tech/tag/bootstrapping-gcc-in-risc-v.html
>
> Also, I'd like to publicly thank everyone who took part in this process.
> Especially Andrius, for all those sleepless nights we spent fixing weird
> compiler errors.
>
> Let's make this finally happen!
>
> Ekaitz
So close!
I have a couple of changes I've worked on at
https://github.com/Millak/commencement.scm but I'm also still working on
getting that modern GCC to build.
--
Efraim Flashner <efraim@flashner.co.il> רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-07-03 16:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-03 15:16 Bootstrapping path discovered for RISC-V 64bit Ekaitz Zarraga
2024-07-03 15:59 ` Efraim Flashner
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).