Phil Holmes <m...@philholmes.net> writes: > phil@Ubuntu:~/lilypond-git$ rm -rf build > phil@Ubuntu:~/lilypond-git$ sh autogen.sh --noconfigure &> dev\null > phil@Ubuntu:~/lilypond-git$ mkdir -p build > phil@Ubuntu:~/lilypond-git$ cd build > phil@Ubuntu:~/lilypond-git/build$ ../configure &> dev\null > phil@Ubuntu:~/lilypond-git/build$ make -s -j9 &> ~/MakeFail220515.txt > > On a clean build directory as above, current master fails to compile as > follows: > > /lilypond-git/lily/include/listener.hh: In static member function > 'static void Listener::smob_proc_init(scm_t_bits)': > /lilypond-git/lily/include/listener.hh:104: error: insufficient > contextual information to determine type > /lilypond-git/lily/include/listener.hh: In static member function > 'static void Callback_wrapper::smob_proc_init(scm_t_bits)': > /lilypond-git/lily/include/listener.hh:182: error: insufficient > contextual information to determine type > > I can supply the full output of make if required, this is just an extract. > > With the same commands on HEAD~2, the compile completes successfully.
Clearly issue 4400, and the lines looking like LY_DECLARE_SMOB_PROC (&Listener::listen, 1, 0, 0) and LY_DECLARE_SMOB_PROC (&Callback_wrapper::call, 2, 0, 0) The respective definition is #define LY_DECLARE_SMOB_PROC(PMF, REQ, OPT, VAR) \ static void smob_proc_init (scm_t_bits smob_tag) \ { \ scm_set_smob_apply (smob_tag, \ (scm_t_subr)smob_trampoline<PMF>, \ REQ, OPT, VAR); \ } Now obviously Patchy was fine with that change, so updating g++ to the version used by Patchy should do the trick here. However, this might not be an option for all self-compilers. Does it help if you move the LY_DECLARE_SMOB_PROC lines in lily/include/listener.hh which currently are right above the corresponding function definitions to below the corresponding function definitions? -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel