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 > , 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 רנשלפ םירפא GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted