<janneke>dannym: ./doit builds the whole development lot; it runs: <janneke>build-gcc.sh: use the default (64 bit) gcc -- mostly just to verify we didn't break tcc <janneke>build-32.sh: use the 32bit gcc-sans-libc with mescc lib <janneke>dannym: they produce, respectively: tcc-gcc, i686-unknown-linux-gnu-tcc/arm-unknown-linux-gnueabihf-tcc, mes-tcc <janneke>in the guix bootstrap, we use ./bootstrap.sh to build mes-tcc <janneke>dannym: so, my development cycle mostly was: <janneke>* reapply ba1c47d lotsa debug printing <janneke>compare traces produced by "compile.sh" 1: 32-bit gcc, 2: mes-tcc <janneke>* add more debug tracing in the c code / isolate compile problem <janneke>* rewrite c contruct or extract test+fix mescc <dannym>janneke: I just get exit code 1 with no output for ./build.sh <dannym>janneke: If I do it inside an guix environment --pure tcc --ad-hoc git <dannym>++ mes-source/pre-inst-env mescc -dumpmachine <dannym>mes-source/pre-inst-env mescc -dumpmachine <dannym>error:include-from-path: not found: :(nyacc/lex.scm) <dannym>unhandled exception:error:(("include-from-path: not found: " "nyacc/lex.scm")) <dannym>Because pre-inst-env does not add dependencies to GUILE_LOAD_PATH <dannym>(that's branch "wip" of mes btw) <dannym>Your HACKING file also specifies that one should manually fiddle with GUILE_LOAD_PATH <dannym>And ./scripts/mescc does something like GUILE_LOAD_PATH=/usr/local/share/guile/site/2.2${GUILE_LOAD_PATH+:}${GUILE_LOAD_PATH} which is definitely useless <dannym>for me, on Debian with Guix, where I definitely want it to use Debian's stuff <dannym>./config.sh:GUILE_LOAD_PATH="/gnu/store/a6k4a1bxlqv8xv1gks1la6m8vysn7fyf-profile/share/guile/site/2.2:/gnu/store/n8b7ppdb97y39viva8cm4rmwvn7i4n5w-guile-2.2.7/share/guile/2.2:/gnu/store/n8b7ppdb97y39viva8cm4rmwvn7i4n5w-guile-2.2.7/share/guile/site/2.2:/gnu/store/n8b7ppdb97y39viva8cm4rmwvn7i4n5w-guile-2.2.7/share/guile/site:/gnu/store/n8b7ppdb97y39viva8cm4rmwvn7i4n5w-guile-2.2.7/share/guile" <dannym>But pre-inst-env does not include config.sh <dannym>Which is fine in general, but it also doesn't use @GUILE_LOAD_PATH@ anywhere in there <dannym>So ./pre-inst-env won't work as it usually does in guix <dannym>Hence mescc can't find its dependencies <dannym>After fixing that, I get: "mes: boot failed: no such file: boot-0.scm" when invoking mescc <janneke>i sadly don't have much time atm, a friend is visiting <janneke>go into the mes environment, something like: guix environment -l guix.scm in the MES source archive <janneke>and use "doit" to set all env vars correctly <janneke>so .. my GUILE_LOAD_PATH comes from the mes environment, the mes-source and mes symlinks pointing to the mes source archive help setup mescc <janneke>i see that "doit" actually creates the "mes" symlink <dannym>janneke: No problem; I'm just logging the problems here. I can workaround them myself :) <dannym>diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in <dannym>@@ -29,6 +29,9 @@ program_prefix=${program_prefix-@program_prefix@} <dannym> MES_PREFIX=${MES_PREFIX-${abs_top_srcdir}} <dannym>+GUILE_LOAD_COMPILED_PATH="@GUILE_LOAD_COMPILED_PATH@" <dannym>+GUILE_LOAD_PATH="@GUILE_LOAD_PATH@" <dannym>(I could also use doit in the future--but I just thought you'd like to know what the problems are with your pre-inst-env) <janneke>dannym: great -- about the diff; that makes sense! -- trying to answer your recent quention about this i was looking at guix's pre-inst-env and wondered why we don't have something like that there too... <dannym>Compiling tinycc took 15 min. It's done now <dannym>... that reminds we why I wasn't using ./doit: <dannym>make: *** [Makefile:329: ETAGS] Error 127 <dannym> /gnu/store/7zp9ifpgm3zj481nk6jg1im13g4mza2g-bash-minimal-5.0.16/bin/sh: etags: command not found <janneke>eh...do you have my latest commit? i added <dannym>Ok, then maybe it's something else <janneke>==> ed3951f squash! WIP build: Add support for ARM. ***ChanServ sets mode: +o rekado