[syslog-ng] Compiling 3.4

Conrad Hoffmann ch at bitfehler.net
Mon Aug 13 21:43:32 CEST 2012


On 08/13/2012 08:30 PM, Balazs Scheidler wrote:
> ----- Original message -----
>> 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...
> 
> hm. earlier bison versions didn't declare the parse function. I can't
> remember warnings either, but I'll have to check the code.

I am using bison 2.6.2, if this information is of any value...

But still, doesn't the declaration contradict the call below anyways
(third parameter)?



More information about the syslog-ng mailing list