Fix: conf.tab.c:1302:1: error: conflicting types for 'yyparse' grok's #include order is messed up. conf.y includes conf.tab.h (which uses the type struct config) before it includes grok_config.h (which defines the type). C requires declaration before use, so it should include the files in the other order. Some compilers will go ahead and compile anyway, depending on their flags; others won't. https://lists.gnu.org/archive/html/bug-bison/2022-01/msg00013.html --- conf.lex.orig 2011-10-28 02:17:11.000000000 -0500 +++ conf.lex 2022-01-20 09:33:55.000000000 -0600 @@ -1,7 +1,7 @@ %{ #include -#include "conf.tab.h" #include "grok_config.h" +#include "conf.tab.h" #include "stringhelper.h" %} --- conf.y.orig 2011-10-28 02:17:11.000000000 -0500 +++ conf.y 2022-01-20 09:25:45.000000000 -0600 @@ -2,8 +2,8 @@ #include #include -#include "conf.tab.h" #include "grok_config.h" +#include "conf.tab.h" #include "grok_input.h" #include "grok_matchconf.h"