"Phil Holmes" <address@hidden> writes:
make fails for me. Old Ubuntu 10.04. Nuked build and reran configur
etc. Result is:
In file included from
/media/IntelSSD/lilypond/lilypond-git/lily/slur-engraver.cc:32:0:
/media/IntelSSD/lilypond/lilypond-git/lily/slur-engraver.cc: In static
member function 'static void Slur_engraver::boot()':
/media/IntelSSD/lilypond/lilypond-git/lily/include/translator.icc:115:40:
error: '&Slur_proto_engraver::listen_slur' is not a valid template
argument for type 'void (Slur_engraver::*)(Stream_event*)' because it
is of type 'void (Slur_proto_engraver::*)(Stream_event*)'
method_finder<&cl::listen_ ## m> (), \
^
/media/IntelSSD/lilypond/lilypond-git/lily/slur-engraver.cc:65:3:
note: in expansion of macro 'ADD_LISTENER'
ADD_LISTENER (Slur_engraver, slur);
^
/media/IntelSSD/lilypond/lilypond-git/lily/include/translator.icc:115:40:
note: standard conversions are not allowed in this context
method_finder<&cl::listen_ ## m> (), \
^
/media/IntelSSD/lilypond/lilypond-git/lily/slur-engraver.cc:65:3:
note: in expansion of macro 'ADD_LISTENER'
ADD_LISTENER (Slur_engraver, slur);
^
make[1]: *** [out/slur-engraver.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory
`/media/IntelSSD/lilypond/lilypond-git/build/lily'
make: *** [all] Error 2
address@hidden:~/lilypond-git/build$
I don't think we have supported 10.04 for a long time now (and there
have been long streaks of time where it definitely failed on other
stuff).
I am somewhat puzzled at this failure because exactly the _same_
technique has been used for acknowledgers for quite a while now,
recently reversed, and later reinstated.
So it does not make a whole lot of sense to be that it fails with
listeners, and only with some compilers. The responsible commit would
likely be
commit f7013d65b51f1372dc31973b78bbe04f505ea569
Author: David Kastrup <address@hidden>
Date: Sat Jun 18 10:20:43 2016 +0200
Issue 4899/1: Let method_finder also find listeners
This allows using inherited listeners directly like with
acknowledgers and translator methods.
However, it is also conceivable that some other commit in the 4899
series pushes your compiler version over the edge. Can you try checking
which commits in issue 4899 (if any) make your compilation go bad?
Maybe I can figure then out what is unique about them after all and we
can figure out how to be more compiler-friendly.
Marc, what compiler version do you have?
--
David Kastrup