-
Notifications
You must be signed in to change notification settings - Fork 41
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build failure: syntax.leg: error: too few arguments to function 'yyPush'
#662
Comments
It is better to discuss one problem per issue. File additional issues for additional problems. That way each issue can be investigated and marked as solved after it has been dealt with.
I see the problem with llvm.org clang (version 10 or 18) on macOS 12 as well. It probably occurs for exactly the reason stated: a function is being called with a different number of arguments than it expects. |
A bit more context on those errors:
|
Looking into this |
Here is my theory. The error is in the
Edit: |
Not so sure now. It might be that I'm not seeing |
It's newer version of peg/leg parser. NGS uses the following one (excerpt from
@barracuda156 you can try either modifying the patching script as mentioned above or to try with older peg/leg parser (0.1.18). |
MacPorts has peg/leg 0.1.20. https://ports.macports.org/port/peg |
I tried this: --- build-scripts/patch-leg-output.sed.orig 2023-05-17 01:23:22.000000000 -0500
+++ build-scripts/patch-leg-output.sed 2024-06-18 01:37:21.000000000 -0500
@@ -2,7 +2,7 @@
# YY_LOCAL(void) yyDo(yycontext *yy, yyaction action, int begin, int end, int location[4])
# +++++++++++++++++
/^YY_LOCAL/ {
- s/\(yyDo\|yyPush\|yyPop\|yySet\)(\(.\+\))/\1(\2, int location[4])/
+ s/\(yyDo\|yyEnter\|yyPush\|yyPop\|yySet\)(\(.\+\))/\1(\2, int location[4])/
t
}
# YY_ACTION(void) yy...(yycontext *yy, char *yytext, int yyleng, int location[4]) No change. |
@ryandesign , the change looks good. just to make sure - delete the build directory and try again please |
It was from a fresh build using MacPorts. It builds fine with peg/leg 0.1.19, which I note is also the latest stable version. I'm not sure why we updated to the unstable 0.1.20 in MacPorts, except perhaps that we might have thought the project was dead since the last release was five years ago and wanted to get the very latest changes. |
I see. It makes sense that NGS would support |
Actually although the peg/leg web site says 0.1.20 was released 2019-11-19 it was actually released 2023-11-19. The changelog for 0.1.20 is very short. Maybe this entry is the relevant one:
|
Hmm, 0.1.19 was also released 2023-11-19. |
... which explains the dates. Also, this even more solidifies the choice of using 0.1.19 for NGS... and for pretty much any other project unless there is a very good reason to do otherwise. |
Yes one option is to downgrade peg in MacPorts to the stable 0.1.19. I'll propose that. |
Did the downgrade help? Can this issue be closed? |
I already verified prior to suggesting the downgrade that the build would then succeed. You can close the issue if you intend never to support peg 0.1.20. If you think this is a bug in peg 0.1.20 I hope you'll report it to its developer. |
|
Could someone say why this fails?
P. S. There are two minor issues too, missing
MAP_ANONYMOUS
on Darwin < 15 (trivial fix, define toMAP_ANON
) and Pandoc (which is broken on powerpc) being pulled by documentation building, which unfortunately does not have a configure argument (but can be just removed).The text was updated successfully, but these errors were encountered: