lilypond-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]