ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] build problem with yacc and ascend-grammar.c

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Thu, 19 Oct 2006 00:49:31 -0700
Guy Harris wrote:
Aamer Akhter wrote:
Looks like the problem was that flex was not installed on the system.
Apparently configure did not catch this.

Could you try either hiding or un-installing flex, doing "make distclean" and running the configure script, and making available the output of the configure script and the config.log file, so we can try to figure out why the configure script didn't catch that and fix it if possible?

Don't bother - I found it.

The configure script isn't supposed to catch that, or, rather, it did catch that and did what's appropriate.

We don't want to prevent somebody who doesn't have Lex or Flex installed from compiling a release tarball; the release tarballs include the result of running Lex/Flex on the ".l" files in the source tree (and of running Yacc/BYacc/Bison on the ".y" files), so you don't have to have those installed.

However, if you're building from SVN (or if you've modified one of the .l or .y files), that won't work if you don't have Lex or Flex.

I modified the relevant Makefile.am files so that the resulting Makefiles will, in the rules that use Lex/Flex, first check to make sure $(LEX) is set to a string that refers to the pathname of an executable file and, if it doesn't, they will print an error message and exit with an error.

(.y might be trickier, as I think we're using implicit rules for that.)