[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: unusable backtrace
From: |
Werner LEMBERG |
Subject: |
Re: unusable backtrace |
Date: |
Sun, 27 Mar 2022 18:59:01 +0000 (UTC) |
Jean:
>> This is strange: What does '2.2-LE-8-3.A' mean? Why do I get two
>> paths concatenated? Additionally, the `.go` files are put into
>> `/home/wl/lilypond/scm/out`
>
> Because of Lilypond's functions exported from C++, which are added
> only when running Lilypond but are needed for byte-compilation, we
> cannot use the normal method to get .go files, 'guild compile'. We
> thus hijack the 'auto-compilation' happening when Guile runs a
> Scheme file that doesn't have a compiled version in cache. The
> cache in question is usually under ~/.cache/guile, but we change the
> directory. Still, the principle remains: paths on your computer are
> mirrored in the cache. Yes, this is a PITA: much better would have
> been to put the .go files next to the .scm files, so an install can
> be moved around. Guile's way of doing things basically would work
> if byte-compilation were fast and silent, neither of which is the
> case. So, after this is done, we move the bytecode into scm/out/,
> and at runtime we load it from there. See scm/GNUmakefile.
Thanks for the explanations. It seems to me we should emit Guile's
messages only if `VERBOSE=1`. Additionally, we should output the
usual one-liner for `VERBOSE=0`.
Jonas:
> It totally is expected: Because "make bytecode" is optional and not
> the default, "make install" cannot install it by default. You need
> to explicitly ask for "install-bytecode". This was discussed on the
> mailing list and is spelled out both in the MR and the commit.
Thanks for this, too.
David:
> How does it show wrong directories after resolving symbolic links?
As Jean explains, the `.go` files are moved by the Makefile to another
directory.
Werner