On Fri, Aug 3, 2018 at 10:43 PM, Andreas Tille <andr...@an3as.eu> wrote: >> +export DEB_CXXFLAGS_MAINT_APPEND=-fpermissive > > I tried this but the error remains exactly the same.
Right, but looking into it, I got the feeling that the error message was somewhat inaccurate, and the compiler was unhappy about some real problem with the arguments to that function. >> but I wonder how many arguments yyparse and yyerror are really >> supposed to have; there may be a bit of confusion there. > > Sorry, I do not understand this. Well, interact.cc has interact.cc:int yyparse(UserLevelRewritingContext::ParseResult*); interact.cc: bool parseError = yyparse(&parseResult); and surface.yy has surface.yy:%parse-param {void* YYPARSE_PARAM} which suggests to me that yyparse has one argument... with some handwaving about its actual type. But top.yy has top.yy:%parse-param {void* YYPARSE_PARAM} top.yy:%parse-param {UserLevelRewritingContext::ParseResult* parseResult} and the generated surface.{cc,h} has surface.cc:yyparse (void* YYPARSE_PARAM, UserLevelRewritingContext::ParseResult* parseResult) surface.h:int yyparse (void* YYPARSE_PARAM, UserLevelRewritingContext::ParseResult* parseResult); so yyparse has two arguments. I think that means that when you imported upstream version 2.7.1, you should have removed debian/patches/bison-parse-param.patch at which point maybe you don't need -fpermissive anyway (possibly). Or something like that :-) I'm no expert, and it's all very twisty, isn't it? - Dan