[syslog-ng] Compiling 3.4

Conrad Hoffmann ch at bitfehler.net
Mon Aug 13 19:09:17 CEST 2012


Greetings!

I am having some difficulties compiling current master (at the time of
this writing) of syslog-ng 3.4. The first error is this:

filter-expr-parser.c:30:5: error: conflicting types for 'filter_expr_parse'
In file included from filter-expr-parser.c:27:0:
filter-expr-grammar.h:404:5: note: previous declaration of
'filter_expr_parse' was here
make[4]: *** [filter-expr-parser.lo] Error

Now, at first I thought, since filter-expr-grammar.h is generated, it
might have something to do with my bison version or the likes. But then
I realized that the offending declaration in filter-expr-parser.c:30:

int filter_expr_parse(CfgLexer *lexer, FilterExprNode **node);

directly contradicts its use int the same file below (line 74):

.parse = (gint (*)(CfgLexer *, gpointer *, gpointer)) filter_expr_parse,

filter-expr-parser.c is not generated, so I don't quite get how this
compiles at all for anyone? Am I missing something?

The actual usage (line 74) matches the generated declaration, so I can
just comment out the offending one in line 30. But I suspect this it not
how it's supposed to work...

Same thing happens for parser-expr-parser and rewrite-expr-parser...

Thanks for any hints, Conrad


More information about the syslog-ng mailing list