Opened 16 years ago

Closed 16 years ago

#2117 closed task (fixed)

Flex-2.5.34

Reported by: Julio Meca Hansen Owned by: ken@…
Priority: normal Milestone: 7.0
Component: Book Version: SVN
Severity: normal Keywords:
Cc:

Description

There's a new version for Flex, that's 2.5.34, released on December 12th 2007

Changelog is huge, compared with previous versions of Flex, here's the (trimmed) selected changes for this version since 2.5.33:

  • introduce yylex_init_extra
  • introduce %option extra-type="your_type *"
  • The flex program now parses multiple short concatenated options
  • better checking after yyalloc/yyrealloc
  • flex now provides for a libfl_pic.a compiled with -fPIC
  • expose YY_BUF_SIZE in the header file
  • flex better escapes filenames with special characters in them
  • a memory leak was plugged
  • pattern language expanded
  • pattern options added to specify patterns as case-insensitive or case-sensitive
  • pattern options to specify whether the "." character should match the newline character
  • pattern options added to allow ignoring of whitespace in patterns
  • POSIX character classes may be negated in patterns
  • patterns may now use set difference, union operators
  • the manual now contains an appendix listing various common patterns
  • some memory leaks were removed from the C++ scanner (still experimental)
  • c++ scanners can now use yywrap
  • added new unit test for c++ and yywrap
  • portability fixes to some unit tests
  • flex man page and flex manual in pdf now distributed in the flex distribution
  • new ca, vi, ga, nl translations from the translation project
  • flex no longer comes with an rpm spec file
  • flex development now happens with automake 1.9.6

http://downloads.sourceforge.net/flex/flex-2.5.34.tar.bz2

Julio

Attachments (1)

flex-2.5.34-isatty.patch (1.2 KB ) - added by Julio Meca Hansen 16 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 by Marty Jack, 16 years ago

I'd be cautious with this one. I find that the test system won't run. There appears to be a regression in the handling of comments. Worst case this means flex input files in other packages may become broken.

  • Marty

by Julio Meca Hansen, 16 years ago

Attachment: flex-2.5.34-isatty.patch added

comment:2 by Julio Meca Hansen, 16 years ago

Attaching a patch found in the gentoo repository, according to their statement:

Declare the isatty prototype all the time ... otherwise packages like
doxygen and ttmkfdir fail to build.

However I haven't tested this patch, so I advise to take it with a huge grain of salt...

Julio

in reply to:  1 comment:3 by Matthew Burgess, 16 years ago

Replying to martyj19:

I'd be cautious with this one. I find that the test system won't run. There appears to be a regression in the handling of comments. Worst case this means flex input files in other packages may become broken.

I assume this refers to test-pthread and test-c++-multiple-scanners, which fail for me. These are being tracked upstream as #1849805 and #1849809 (http://sourceforge.net/tracker/index.php?func=detail&aid=1849805&group_id=97492&atid=618177 and http://sourceforge.net/tracker/index.php?func=detail&aid=1849809&group_id=97492&atid=618177).

comment:4 by Marty Jack, 16 years ago

Yes, those are the failing tests. By the time I went to report it upstream, I saw that it was already done, as you've noted.

This is an excellent attaboy for the emphasis that LFS places on identifying and documenting how to run the regression tests for a package. I don't see that in other from-source efforts. One would almost have to conclude that in this case the flex project shipped a release without ever trying their own regression test.

  • Marty Jack

in reply to:  1 comment:5 by ken@…, 16 years ago

Replying to martyj19:

I'd be cautious with this one. I find that the test system won't run. There appears to be a regression in the handling of comments. Worst case this means flex input files in other packages may become broken.

  • Marty

I've just finished a clfs build on ppc with 2.5.34 and all of my current desktop (icewm, gimp, lots of gnome deps for epiphany, gcalctool, gedit, gnumeric, gucharmap, yelp, first part of kde, full cdrdao, gnash, sundry av players and libraries) but I had exactly one package failing to build (libIDL) - my proposed fix for that is at bugzilla.gnome.org, (bug 507344, attachment 102158) - in that case it complained about a few '%' identifiers starting with a '%p something' and didn't pass any of the input file to the output. After I changed it to '%pointer something' it was happy, the resulting file looks like what 2.5.33 produced (modulo changes from the version upgrade), compiles and runs fine.

My logs show the following packages (only) used flex and didn't give any aggravation: kbd, iproute, and then bc, libbonobo, gcalctool. Nothing else on my desktop uses flex, so I tend to think that for most people it won't be a big deal.

Agreed, 'make check' doesn't do anything useful (seems to end ok, just not actually run any tests), but I'm fairly sure I've seen that before, with an earlier release.

in reply to:  2 comment:6 by ken@…, 16 years ago

Replying to LydianKnight:

Attaching a patch found in the gentoo repository, according to their statement:

Declare the isatty prototype all the time ... otherwise packages like
doxygen and ttmkfdir fail to build.

However I haven't tested this patch, so I advise to take it with a huge grain of salt...

I think this is a standard distro "used to be needed, so keep it in" patch ;-) I've been playing with flex today, and trying to understand an error in tetex (later), but doxygen itself builds without the patch. I did see references to the isatty issue from a few years/releases ago.

in reply to:  2 comment:7 by ken@…, 16 years ago

Replying to LydianKnight:

Declare the isatty prototype all the time ... otherwise packages like
doxygen and ttmkfdir fail to build.

I've now downloaded ttmkfdir - it's a freetype-1 application, so I declare it obsolete ;-)

comment:8 by ken@…, 16 years ago

Owner: changed from lfs-book@… to ken@…
Status: newassigned

For tetex, this version of flex barfs on texk/web2c/omegafonts.pl which contains

 /* For Solaris's lex, to increase tables sizes --RP */
 /* Space before number keeps ancient flex happy. */
%e 4000
%p 7000
%n 1000

I eventually found an explanation of this in man 1 lex (it overrides parse tree nodes, positions, states) - builds fine with this commented out.

For me, lex is a black art. I think this is probably a bug in 2.5.34, but not a showstopper.

I'll pick this up in my build, but also make sure the resulting system can rebuild chapter 5, just in case there is something lurking there.

comment:9 by ken@…, 16 years ago

Sourceforge bug 1860773 already covers this issue (and supercedes my incorrect fix for libIDL). According to that, flex has always silently ignored lex table size declarations, but now it is choking on them.

I have to admit I can't find that mentioned in the info pages for 2.5.33, maybe it was documented in an older version. The fix is to comment them out. The bug also mentions that libpcap is affected, I'll look at that after I've finished the build.

comment:10 by ken@…, 16 years ago

More patches prepared, for libpcap (the lex table) and lm_sensors (it doesn't like some of the comments that start in the second column - I've seen a patch for that issue in a fedora srpm recently, but I don't recall the package and I think it was one that is already ok upstream).

comment:11 by ken@…, 16 years ago

Resolution: fixed
Status: assignedclosed

Fixed in r8488.

Note: See TracTickets for help on using tickets.