[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make test-baseline fails for every guile-v2
From: |
Thomas Morley |
Subject: |
make test-baseline fails for every guile-v2 |
Date: |
Sun, 27 Oct 2019 22:22:30 +0100 |
Hi,
I'm used to test building LilyPond-master against upstream
guilev2-versions, though I've to confess I limited testing to `make´
and `make doc´.
Nevertheless, recently I tried `make test-baseline´ and it failed with
_every_ guilev2, even with guile-2.0.14.
Then I went back to branch guile-v2-work and compiled it with
guile-2.0.14, which was guaranteed to work with the guilev2-patches in
this branch. And indeed it still works. This leads to the conclusion
the problem is in upstream LilyPond (at least for guile-2.0.14).
Thus I went up, patch by patch, and could identify two patches
preventing success for `make test-baseline´:
commit 96cdc755b547688c46097ba6a155aa1085ea7ac4
Author: David Kastrup <address@hidden>
Date: Sun Feb 5 16:43:21 2017 +0100
Issue 5056/2: Don't assume uninstantiable engravers to be symbols
and
commit 51b6513eeeaea69293bd4f554f8021529ae85a49
Author: Dan Eble <address@hidden>
Date: Mon Jul 2 13:36:48 2018 -0400
Issue 5366: Move warnings out of find/create context functions
The motivation for this is that Context::find_create_context () and
find_context_near () should probably be merged for maintainability,
but one of the differences between them that must be dealt with is
that find_create_context () logs when it fails and find_context_near
() does not. Adding warnings to find_context_near () risks being too
noisy, leaving the option taken here.
The new method Context::diagnostic_id (name, id) returns a formatted
string (e.g. "Voice" or "Voice = mel") for use in a log message. It
is used for the warnings that are being moved as well as a few other
existing warnings to increase consistency.
To verify, I checked out a new local branch out of
e57c27dc14a188bfdbcf0b1af9af0564218d9cdf
applied a bunch of patches for guilev2 (attached zip), reverted the
suspicious patches locally (attached as well) and compiled with
guile-2.0.14.
I've got a successful `make´ and `make test-baseline´. Didn't try
`make doc´ (worked already in a former test).
Some guessing:
Both reverted patches use
ly_scm_write_string
Maybe there's some problem there, similar to that of ly_scm2string,
fixed with Antonio's patch:
[PATCH 09/18] Fix ly_scm2string() to work with guile-2.0
(Find it in the attached zip as well)
Though, an attempt to fix ly_scm2string is out of my depth.
Furthermore, reverting said patches is not sufficient for a
successfull `make test-baseline´ with guile-2.2.x or guile-2.9.x.
More guessing:
Perhaps those guile-versions are more picky and a fix for
ly_scm_write_string would make them work as well, because
ly_scm_write_string is used at more than the two mentioned places.
Dan, David, I cc-ed you, because said patches are yours.
Thanks,
Harm
0183-Revert-Issue-5056-2-Don-t-assume-uninstantiable-engr.patch
Description: Text Data
0001-Revert-Issue-5366-Move-warnings-out-of-find-create-c.patch
Description: Text Data
patches-for-guile-2-9-1.zip
Description: Zip archive
- make test-baseline fails for every guile-v2,
Thomas Morley <=