This problem was reported (with a workaround) by Andrej.Borsenkow@mow.siemens.ru on Thu May 30th. The fix was to add the line #include "stdio.h" to cfg-grammer.c I don't know if this is the right thing to do because there is conflicting advice Bazsi said it would be save to include it, but in the cfg-grammer.c file there is a comment saying: # include <stdio.h> /* INFRINGES ON USER NAME SPACE */ I just wanted to remind the (kind & generous) programmers of this issue for those of us who are not C programmers so that the "proper" fix for this doesn't get forgotten in the next version release. On RedHat 7.3 with latest patches. With libol 0.3.3 Compiling 1.5.17 works fine (see http://www.umialumni.com/~ben/compile-output-syslog-ng.1.5.17.txt ) Compiling 1.5.18 doesn't (see http://www.umialumni.com/~ben/compile-output-syslog-ng.1.5.18.txt ) Summation: gcc -DHAVE_CONFIG_H -I. -I/usr/src/redhat/BUILD/syslog-ng-1.5.18/src -I. -O2 -march=i386 -mcpu=i686 -Wall -I/usr/local/include/libol -D_GNU_SOURCE -c cfg-grammar.c cfg-grammar.y: In function `yyerror': cfg-grammar.y:703: warning: implicit declaration of function `fprintf' cfg-grammar.y:703: `stderr' undeclared (first use in this function) cfg-grammar.y:703: (Each undeclared identifier is reported only once cfg-grammar.y:703: for each function it appears in.) make[3]: *** [cfg-grammar.o] Error 1 make[3]: Leaving directory `/usr/src/redhat/BUILD/syslog-ng-1.5.18/src' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/redhat/BUILD/syslog-ng-1.5.18/src' make[1]: *** [all-recursive-am] Error 2 make[1]: Leaving directory `/usr/src/redhat/BUILD/syslog-ng-1.5.18/src' make: *** [all-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.39527 (%build) -Ben.
On Mon, Jun 10, 2002 at 06:28:58PM -0400, Russo, Ben wrote:
This problem was reported (with a workaround) by Andrej.Borsenkow@mow.siemens.ru on Thu May 30th.
The fix was to add the line #include "stdio.h" to cfg-grammer.c
I don't know if this is the right thing to do because there is conflicting advice Bazsi said it would be save to include it, but in the cfg-grammer.c file there is a comment saying:
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
cfg-grammar.c is generated from cfg-grammar.y by bison. Earlier versions of bison automatically added that include, which is infringing on user name space, given the program doesn't use stdio itself. As syslog-ng does use stdio it's safe to include stdio.h -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
participants (2)
-
Balazs Scheidler
-
Russo, Ben