IRC channel logs
2026-03-15.log
back to list of logs
<gnucode>nexussfan: what are you porting today ? <Alicia>I'm also poking at icecat but I don't really know what I'm doing with it <nexussfan>it seems like buildicecat just makes an icecat source <Alicia>from my notes so far: in python/mozbuild/mozbuild/configure/constants.py add GNU as a kernel option, and __GNU__ for kernel_preprocessor_checks <Alicia>and configure with --enable-audio-backends="oss" (default is pulseaudio, but we don't have that, I think) <gnucode>did you get rumpaudio to work on real hardware? <Alicia>yep, "oss" just lets it continue without errors :) <gnucode>also are we calling it rumpaudio or rumpsound ? <Alicia>right now I'm stuck at it trying to find a rustc target, and rustc has x86_64-unknown-hurd-gnu but icecat's configure fails to find it. it shows x86_64-unknown-gnu0.9 as the host triplet, which I'm guessing is part of the problem <nexussfan>normally unix-like systems show something like linux7 for the linuxkernel version 7 <nexussfan>but for some reasons they did like "if os startswith(linux) then return linux" <youpi>Alicia: yes, llvm/rust insist on having different names from the gnu ones <youpi>so there needs to be some translation <youpi>in whatever takes the gnu triplet and gives that as target to rustc <Alicia>nothing is giving the triplet to rustc yet. it gets a list from rustc --print target-list and then I guess narrows it down somehow. haven't found where hurd-gnu disappears yet <nexussfan>rustc print target-list just shows all of the targets that the rustc supports <nexussfan>not sure if there is a way to get the current target in rustc <Alicia>( build/moz.configure/rust.configure seems to be where this happens) <Alicia>oh! that fixed it (maybe not a proper fix, but it went further) by adding these two lines at the beginning of def detect_rustc_target: out = check_cmd_output("rustc", "--print", "host-tuple").splitlines() next line: return out[0] <Alicia>it looks... too simple, compared to the length of the original function <Alicia>so far so good. was missing some dependencies but was able to install them. taking a break to try to generate a patch file of my changes so far <youpi>Rust's --target options are similar to, but not exactly the same <youpi> # as, the autoconf-derived targets we use. <youpi>i.e. it's taking host_or_target <youpi>and then fixing the gnu-to-rust details <youpi>(it's indeed not just host-tuple that you want, when cross-compiling icecat) <Alicia>apparently it depends on nodejs which is not available in the repository <Alicia>just another step on the path :) <gnucode>he would probably only use debian GNU/hurd if it was one of the FSF approved distros... <gnucode>guix/hurd is cool, but only has 300 some packages at the moment... <nexussfan>where's the source for the coreboot vesa console for hurd? <damo22>it basically doesnt have one, it reuses the existing framebuffer exported by the bios <nexussfan>so how come X doesn't work then? if it uses the existing fb <damo22>i added something in that branch its not upstream yet <damo22>but even without my changes, you could compile a coreboot rom with VBE_LINEAR_FRAMEBUFFER enabled on some platforms i think instead of VGA_TEXT_FRAMEBUFFER <Alicia>I tried adding more RAM to my 64bit debian hurd VM and started getting weird issues (I/O errors at 4-8GB, full bootloop at 20GB, two lines printed then back to grub) <Alicia>is this a known issue? and is it the same on real hardware? <sam_>[01:42] <Alicia> apparently it depends on nodejs which is not available in the repository <sam_>I believe you can precompile these bits from e.g. linux and then provide it, which should help to begin with <sam_>i think someone also recently hacked it to work with quickjs instead of nodejs <sam_>(to make it work on sparc) <Alicia>oh neat (I'm unfamiliar with quickjs though) <Alicia>I prefer to compile natively if I can accomplish it <Alicia>nexussfan: btw have you tried 64bit Hurd on real hardware? I ran into weird issues when I tried to increase my VM's RAM to 4GB or higher, wondering if it's a qemu-specific issue <Alicia>(I/O errors at 4-8GB, full bootloop at 20GB, two lines printed then back to grub) <Alicia>and I'm guessing it's not <4GB RAM? <Alicia>I switched to 32bit to be able to have a little more RAM. didn't have any luck with compiling nodejs (which I think ate all my ram on 64bit), but the quickjs patch seems to work, together without the 'node' wrapper from https://github.com/sparclinux/issues/issues/59#issuecomment-3694685366 which was needed to get past configure (of course the proper fix would be to make configure look for quickjs) <Alicia>currently stuck on networking issues in the multiprocessing python module used by ipc/ipdl/ipdl.py <Alicia>Commenting out setsockopt on line 605 of /usr/lib/python3.13/multiprocessing/connection.py gets a little further, but then there are more issues with socket connections missing an address. not sure where the address is supposed to come from yet <Alicia>ah, with -M q35 64bit boots with 4GB RAM, but 20GB still bootloops <Alicia>16GB works. that should be enough for now :) <Alicia>sneek: later tell gnucode I think I found the -M q35 thing, it only happens for 4+GB of RAM. But I imagine it's not specific to rumpdisk because when I tried for 20GB it quickly bootloops back to grub, with or without -M q35 <Alicia>oh, icecat's configure also has a --disable-nodejs option, sidestepping the whole need to patch in support for quickjs