On Jan 27, 2011, at 7:07 AM, Malcolm J. Currie wrote:
> Tom,
>
> This was because SUN/264 was added to the component.xml but not the component.xml.in. The former is built from the latter. I did another "git pull --rebase" and SMURF built. You can
>
> git checkout applications/smurf/component.xml
>
> to obtain the version in the repository.
>
I think I've worked out what the problem is. scb ships with it's own version of the flex skeleton file (flex.skl) and the build system attempts to use this file if it can. On linux where I am running an old version of flex (2.5.4) flex.skl is used. On OSX flex 2.5.35 does not like that skeleton file and the configure test decides not to use it. This means that yyleng can be different depending on whether the flex.skl file is used or not. When OSX uses the native skeleton yyleng is defined as a yy_size_t.
The reason this is all needed is because of a one line change to YY_BUF_SIZE to increase the buffer from 16384 to 65536. Unfortunately that fix is still needed in the current version of flex.
The easiest thing may be to quietly retire scb and move it into the obsolete tree so we don't need to worry about it again. In the short term I've removed the "extern XXX size_t" line from ctag-l.l because it seems that flex defines it in the generated C file anyhow.
--
Tim Jenness
Joint Astronomy Centre
|