Bugzilla – Bug 157019
flex-2.5.31-11 breaks sax2 log parser
Last modified: 2006-03-13 08:17:28 UTC
The mentioned version of flex breaks the sax2 log file parser which causes several critical bug reports. There are no warning while calling flex the difference between the generated files is: --- /tmp/buildsystem.Gauss.root/usr/src/packages/BUILD/sax/sysp/lib/plog/lex.yy.c 2006-03-10 12:59:21.000000000 +0100 +++ plog/lex.yy.c 2006-03-10 12:58:33.000000000 +0100 @@ -2231,6 +2231,17 @@ #define YYTABLES_NAME "yytables" +#undef YY_NEW_FILE +#undef YY_FLUSH_BUFFER +#undef yy_set_bol +#undef yy_new_buffer +#undef yy_set_interactive +#undef YY_DO_BEFORE_ACTION + +#ifdef YY_DECL_IS_OURS +#undef YY_DECL_IS_OURS +#undef YY_DECL +#endif #line 70 "parse.l" The old version includes that the new one doesn't
Version flex-2.5.31-10 and older works
*** Bug 153496 has been marked as a duplicate of this bug. ***
*** Bug 156890 has been marked as a duplicate of this bug. ***
*** Bug 155815 has been marked as a duplicate of this bug. ***
The changes from ------------------------------------------------------------------- Thu Mar 9 18:19:09 CET 2006 - mmarek@suse.cz - keep YY_* macros in the generated C file (backport from 2.5.33) [#141964#c6] (keep-yytext_ptr.patch -> keep-macros.patch) ------------------------------------------------------------------- Wed Mar 8 12:37:52 CET 2006 - mmarek@suse.cz - removed unneeded part of last fix (C++ scanners weren't affected) [#151087] (overflow.patch) Introduced the problem
Marcus, will you provide sax2 packages for testing, built with the old flex rpm?
I tested on gauss.suse.de if you want to check or do you need sax2 packages just to be able to configure your X-Server again ?
will look at it
If you try /work/src/done/BETA/flex, does it fail as well?
I still can't find the problem :-( sax/sysp/lib/plog/parse.l contains no code in the third (last) section, so the generated lex.yy.c has or has not a few #undefs _on the last lines_. Now that file gets #included by parse.tab.cc _on the last line_. So the only difference are #undefs at the end of parse.tab.cc. BTW you marked some beta7 bugs as duplicates of this one, but beta7 only had $ LANG=POSIX rpm -qp --changelog flex-2.5.31-10.i586.rpm | head * Fri Feb 17 2006 - mmarek@suse.cz - fix buffer overflow in some generated scanners [#151087] (overflow.patch) * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Tue Dec 20 2005 - mmj@suse.de - don't package /usr/share/info/dir As last resort, I could take the change back and tell Thorsten to use flex-old (see bug #141964 comment #6). I'll CC him.
Thanks for debugging, I'm still investigating... maybe the problem is somewhere else. please be patient flex-old is not yet an option
I am soo stupid it hurts. This is my bug not yours sorry for the confusion. The problem is that within the buildsystem there is no Xorg loader available but the compilation process checks that and defaults to XFree86 which doesn't exist and leads to a non working log file parser. My tests have been done within the installed system only because within a chrooted buildsystem you cannot call an X-Server if its not installed. So every time I compiled the code in the buildsystem I silently run into that error. Of course all builds are broken because of this *aaargh* It is fixed now and it works with the current version of flex of course will submit a package now
(In reply to comment #12) > It is fixed now and it works with the current version of flex of course > will submit a package now Do you think that it will make beta 8?
sure, deadline for beta8 is Monday 6pm and the package I submitted has been checked in 5 minutes ago ;)
*** Bug 156881 has been marked as a duplicate of this bug. ***
*** Bug 157169 has been marked as a duplicate of this bug. ***