IRC channel logs

2025-09-02.log

back to list of logs

<jackdk>Although that video doesn't get the whole way to a working floppy. The comments speculate about eddy currents in the shell, as well as an inappropriate oxide being used
<vasi>mid-kid, i saw you talking about gentoo bootstraps! I tried both your method, and via Gentoo Prefix, and definitely the Prefix mode seemed simpler: https://github.com/vasi/bootstrappable-distros/blob/main/distros/GentooPrefix.md
<vasi>(btw thanks for your process documentation, it's great)
<vasi>Googulator: I'm starting an attempt to reproduce your Azure bootstrap for the bootstrappable-distros list, i'll let you know how it goes
<mid-kid>vasi: nice! I'm glad it worked for you. Personally, I'm not too happy with bootstrap-prefix.sh. It does *waaaay* too much in a bit of a brittle way that isn't necessary at all if you know you're starting from something like live-bootstrap.
<mid-kid>And yeah like you note it doesn't work on musl and struggles with llvm.
<mid-kid>I find it interesting that you didn't try gentoo's native cross compilation support, "crossdev"
<mid-kid>Might save you the latter half of my guide
<vasi>Yeah that's fair. I guess I didn't really _want_ to start from live-bootstrap, so maybe that's why it made more sense to me.
<mid-kid>Oh, I see. That makes sense.
<vasi>crossdev assumes you're already running Gentoo-ish, right?
<vasi>Do you mean I could use it from Gentoo Prefix? Hmm that's interesting
<mid-kid>Yeah, my script is using the same primitives as crossdev to create the cross toolchain
<mid-kid>You can probably replace most of it with a single "crossdev" call
<mid-kid>Reason I didn't: I like transparency in this chain and crossdev kind of hides a lot of it
<mid-kid>Most of the script is like that, I'm trying to minimize the amount of compilation and make it somewhat transparent
<mid-kid>I'm trying to improve it and simplify though :P
<vasi>I'd only used crossdev before to setup distcc toolchains, so never considered this use! I will ponder this more :)
<mid-kid>vasi: thanks for the strcasecmp thing, though! I needed this for my current update
<mid-kid>unrelated question, has anyone ever tried bootstrapping nim
<mid-kid>its official bootstrap uses generated C sources, which can't really be used
<Googulator>mid-kid: https://bootstrapping.miraheze.org/wiki/Bootstrapping_Nim (long story short, it depends on Pascal, which is also not bootstrapped)
<mid-kid>Googulator: thanks!
<mid-kid>yeah that makes a lot of sense, kind of the same issue rust had before mrustc
<mid-kid>which makes me wonder if it wouldn't be easier to create a compiler targetting an older version of nim to bootstrap from
<janneke>ACTION pushes mes wip-bootstrap-x86_64 branch to gitlab with one monster commit
<stikonas>janneke: oh, did you get more stuff to work?
<janneke>stikonas: i just built up to mes and crashed it after the patch-source stage to capture the diff
<stikonas>that's with latest M2-Planet?
<stikonas>or earlier
<stikonas>I thought with earlier we were able to build tcc-mes binary that was partially working
<janneke>it's a 2000 line diff
<janneke>this is stefan's work and he's using stage0-posix 1.7.0 atm
<stikonas>oh, that one...
<stikonas>ok, that doesn't seem to have any risc-v chnages
<janneke>nope, but as it has 64bit fixes for intel, you never know
<janneke>aiui the riscv should also be "almost done"
<stikonas>well, the only riscv issue was just that patch that we reverted in tinycc git
<stikonas>other than that, riscv bootstrap worked
<stikonas>it was x86_64 that was further behind
<janneke>right
<stikonas>so maybe with these fixes it catches up
<janneke>yes
<stikonas>anyway, I'll have to try to test it, though probably wouldn't have time till at least weekend
<janneke>there's no hurry, but this is great news
<janneke>especially using upstream tcc
<stikonas>indeed
<ekaitz>janneke: stefan simplified many things didn't him?
<ekaitz>janneke: careful: "/gnu/store/0c2xd4m3y7ash5lvxbcn9qk54cqgzhdk-STAGE0-POSIX-bootstrap-1.7.0/bin/M1
<ekaitz>janneke: you commited some module/mescc/mescc.scm
<ekaitz>and mesar.in
<ekaitz>those include store paths
<stikonas>I think that commit was just temporary
<stikonas>not meant to go upstream
<stikonas>just so that we can see patch/diff easier
<stikonas>for proper upstreaming we need smaller patches anyway, not one mega 2000 line patch
<stikonas>ekaitz: also stefan mentioned that he switched back some of the tools back to gnu tools from scheme tools
<stikonas>which is actually where guix was a few years ago
<stikonas>when live-bootstrapped mimicked some of that bootstrap chain
<ekaitz>it was just in case for example you wanted to replicate it
<ekaitz>that store path won't work
<ekaitz>is the bootstrapping path he chose very different from ours? it doesn't feel like, right?
<ekaitz>I mean the riscv one
<stikonas>I haven't looked that much at the source, but I guess it doesn't
<stikonas>oh, he even uses musl with tcc
<stikonas>so it's probably even closer to live-bootstrap path than I guessed
<stikonas>anyway, I guess the main thing to get from there is building new tcc as janneke said
<stikonas>then we don't need to maintain older tcc
<stikonas>and hopefully it works on more arches with those x86_64 fixes
<stikonas>but we'll have to test
<ekaitz>yes!