php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #20623 configure hangs trying to determine lex version
Submitted: 2002-11-25 09:17 UTC Modified: 2002-11-26 20:40 UTC
From: mrm1 at msm dot cam dot ac dot uk Assigned:
Status: Not a bug Package: *Configuration Issues
PHP Version: 4.3.0RC1 OS: Solaris 9
Private report: No CVE-ID: None
 [2002-11-25 09:17 UTC] mrm1 at msm dot cam dot ac dot uk
Many thanks for your help with problems so far; I hope this is my first one which won't waste your time being bogus!

Mark

Problem is easily reproduced by running ./configure with no options "out of the box" if the machine does not have flex installed (but does have lex):

bash-2.05$ ./configure
creating cache ./config.cache
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for working sed... sed
checking host system type... sparc-sun-solaris2.9
Updated php_version.h
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for AIX... no
checking if compiler supports -R... yes
checking for ranlib... ranlib
checking whether ln -s works... yes
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking for bison... no
checking for byacc... no
configure: warning: You will need bison if you want to regenerate the PHP parsers.
checking for flex... lex
checking for yywrap in -ll... yes
checking lex output file root... lex.yy
checking whether yytext is a pointer... no
checking for working const... yes
checking flex version... lex: Software Generation Utilities (SGU) Solaris-ELF (4.0)

and configure hangs.

My interpretation of the problem: configure has identified that lex is available, but not flex; but lex -V produces its output on standard error, not standard input, so the pipe to check the version string defaults to reading the terminal.  (You can see the output that lex -V sends to standard error immediately after checking flex version... above)

Workaround: it's not clear to me that the version numbers (or their format) in lex and flex are going to be the same anyway; deleting the flex version test (8 lines starting at line 2603) made configure work for me.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-26 20:40 UTC] sniper@php.net
You need GNU flex.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 19:01:28 2024 UTC