Build fails with bison-3.0
Brought to you by:
blais
I encountered this build failure on Archlinux with both the xxdiff-4.0 package and the Mercurial version. Things proceed until resParser_yacc.cpp where I get the following message:
resParser.y:41:48: error: ‘resources’ was not declared in this scope
(full build log is attached). If I drop bison back to bison-2.7.1, then the build is successful with only a few warnings.
Are you using bison-3.0?
Bison-3.0 makes %pure_parser obsolete.
I just installed it, and I can reproduce the problem you see, thanks for your detailed report.
I'll try to look at this over the next few weeks; I need to find a solution that works for both 3.0 and 2.7, for many distros.
What version of flex are you using?
bison-3.0 and flex 2.5.37. Changing only bison allowed me to compile it.
I'm happy to supply any extra information, or to test things when you think you have a solution. I'll try to pay attention here, since I didn't get an email notification that you posted.
Thanks for maintaining a great tool. I consider xxdiff a "must have", so I'm very happy to see that it is still alive.
The attached patch fixes compilation with Bison 3, and should work with Bison 2.x as well (untested)
Fixed by applying other patch.
Hi,
When is this patch going to appear in the source tarball? Alternatively, would you mind posting a link to that "another patch" here?
I'll have to look at this in a week or two, I'm swamped at the moment. The patch also had to be reverted.
I've applied a patch by John Schmerge which makes it build with bison 2 and bison 3. If you run into any problems, let me know.
About the source tarball: I don't release a source tarball anymore. Is that a problem? Can you clone from the default branch in Mercurial instead?
Thanks,