IRC channel logs
2026-03-07.log
back to list of logs
<aggi>currently MES-replacement does need pre-compiled binaries (tcc_cc/stack_c) still, too pnut does; both of which is appropriate for faster testing <aggi>i'll checkout tcc_bootstrap_alt/ and tcc_simple/ from cosinusoidally next <aggi>if tcc-0.9.2 was required this will limit the who approach to ARCH=x86, which is appropriate for my use-case here, and leaving all other ARCH to cross-compilation setup <aggi>GNU mes may not introduce a limitation to any ARCH i think, which is a relevant criteria, but i'll postpone this one for a moment <aggi>with regards to various tcc-versions involved, i've noticed some peculiarities many years ago already <aggi>to compile linux-tcc/tccboot, initially tccboot used tcc-0.9.21, that was known to suffice, and this version did not have any dependency for an external libc i think <aggi>i need a day or two off, without coffee <LaurentH>aggi: catching up on the messages from the last few days, but pnut-exe can bootstrap from M2-Planet and produces the exact same tcc-0.9.26 checksums as Mes, so it should be relatively easy to swap Mes for pnut-exe for a faster development cycle, no need for precompiled binaries <aggi>hi LaurentH, didn't pnut-exe need a shell-interpreter? <aggi>the one available is kaem at that stage <aggi>ok. that's very interesting then. <aggi>in total that is 3 options for a stage0-bootstrap: GNU mes, tcc_bootstrap_alt, pnut <aggi>and a 4th option to re-confirm bit-identical output together with dependency tracking with T-diagrams: MES-replacement <mwette>ACTION released nyacc-3.04.0 for the mes folks <stikonas>aleksi: were you able to test nyacc 3.04.0? <stikonas>I've now got unhandled exception: unbound-variable: (syntax->datum) <stikonas>not sure if that's the same issue you saw with missing tokens that you mentioned on the bug <stikonas>ekaitz, janneke: do you understand this error? <ekaitz>that's afaik a macro expander error that is not able to convert a syntax object to a symbol or a number or something like that (a datum) <stikonas>oh, I wonder if that needs psyntax.pp :( which would be a circular loop <janneke>syntax->datum is a syntax-case primitive, mes does not support syntax-case (yet) <janneke>but we don't know where it's coming from <janneke>there is the prospect of integrating popsyntax, but that hasn't been done and promises to be very slow <janneke>i've also got no idea what the requirements to the core are in order to support popsyntax <stikonas>I guess it comes from module/nyacc/lalr.scm <janneke>looking at that patch, it might even be worth trying adding: (define syntax->danum identity) somewhere <stikonas>janneke: ok, I've just patched it out, same complexity as defining identity <stikonas>anyway, what we have is now much more maintainable (if that run that I started succeeds) <mwette>reading the logs; ugh, I have to check reserved? <stikonas>mwette: I've sorted out mach.gen run, it now created a few files .gram*.txt <stikonas>thoufh I guess I need to copy them somewhere? <stikonas>mescc now complains unhandled exception: error: (("include-from-path: not found: " "nyacc/lang/c99/mach.d/cpp-act.scm")) <stikonas>mwette: no, I think my issue was that mes didn't have syntax->datum <mwette>Those belone under c99/mach.d/ like they were a while ago. But now they are not part of the distribution but created in the build process. <stikonas>ok, that's fine, I need to look at Makefiles <stikonas>anyway, I"ve worked around that syntax->datum issue in mes by patching it out <mwette>Yes, but for mes, reserved? is used in a define macro, let me fix better <mwette>I could update in a 3.04.1, but let's deal with the other issues. <mwette>the production of gram.txt files in mach.gen is not needed; I use that to debug parsing errors (where it reports the state where the parsing error occurs) <stikonas>ok, thanks. I think I understand now. Earlier I've somehow got confused that now it's gram instead of cpp-act.scm and friends <ekaitz>checking whether the C compiler works... configure: error: in `/tmp/guix-build-gcc-muslboot-4.6.4.drv-0/gcc-4.6.4/riscv64-unknown-linux-musl/libstdc++-v3': <ekaitz>configure: error: cannot run C compiled programs. <ekaitz>If you meant to cross compile, use `--host'. <mwette>In my experience (doing x-compilng), "cannot run C compiled programs" means the cross-c linker could not find a crt0.o <ekaitz>yeah... or maybe that the compiler is dead <ekaitz>idk why it's trying to build libstdc++ if it only has --enabled-languages=c <stikonas>hmm, that should still be fine, that one is still written in C <stikonas>with later ones I guess 3-stage build first builds C++ compiler <stikonas>perhaps something with guix prefixes makes it not find some files as mwette suggested <ekaitz>it's hard to find what is actually failing <stikonas>well, try to run the last failing command manually <ekaitz>i don't find where the actual command is lol <ekaitz>okay yeah it's trying to run a.out <stikonas>I've split it into 3 separate scripts... <mwette>much of cpp.scm is totally rework, so I would not be surprised to see cpp errors <mwette>though all my tests are passing and nyacc parsed all of glib, gobject, gdk, gtk <ekaitz>damn dude i have no idea of where are these configure scripts building the thingies <stikonas>since gcc is a collection of subprojects <ekaitz>i literally run `find -name a.out` and it's not anywhere <stikonas>I wouldn't be surprised if you can't find it <ekaitz>ACTION hates when they are not left <stikonas>ok, I think generation of mach.d suceeded but mescc now fails with unhandled exception: not-a-pair: ("EOF in list") which I think is the issue aleksi mentioned in that bug <stikonas>in sting-every in mes/module/srfi/srfi-13.mes <ekaitz>let me see what string-every is supposed to do <ekaitz>stikonas: can you try to patch mes really fast? <ekaitz>just to make sure you don't get that error <ekaitz>that i don't think that should be there <ekaitz>in the end of the line of the `or` there's a `#t` <ekaitz>hehe we should ask janneke about it <ekaitz>janneke: 44133033a0ecc6fefdc1945776c5343c3263204c <mwette>look at nyacc/lang/util.scm: string-every is defined for mes <ekaitz>mwette: (or something #t something-else) <mwette>string-only only seems to be used in nyacc/util.scm <ekaitz>stikonas: with that change at least something should change <ekaitz>stikonas: i missed working with you <stikonas>if that doesn't work, I'll try nyacc implementation <mwette>If you look at the code nyacc/lang/util.scm maybe that is correlated <mwette>for mes, the string-length should be pulled out of the loop <ekaitz>well, now I'm thinking ... string-length should be just a simple check <ekaitz>it is a builtin... that would have a little bit of overhead