php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #17647 "make" searches for /zend_language_parser.c
Submitted: 2002-06-07 15:40 UTC Modified: 2002-07-07 21:18 UTC
From: michael dot mauch at gmx dot de Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.3.0-dev OS: OSF1 Tru64 4.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: michael dot mauch at gmx dot de
New email:
PHP Version: OS:

 

 [2002-06-07 15:40 UTC] michael dot mauch at gmx dot de
This bug report is for php4-200206070600, but I couldn't choose that value. php-4.2.1 has no problems wrt this.

"configure" produces a Makefile.objects with some faulty lines like:

/internal_functions.lo: /internal_functions.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /internal_functions.c -o /internal_functions.o  && echo > $@
/internal_functions_cli.lo: /internal_functions_cli.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /internal_functions_cli.c -o /internal_functions_cli.o  && echo > $@
/zend_language_parser.lo: /zend_language_parser.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /zend_language_parser.c -o /zend_language_parser.o  && echo > $@
/zend_language_scanner.lo: /zend_language_scanner.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /zend_language_scanner.c -o /zend_language_scanner.o  && echo > $@
/zend_ini_parser.lo: /zend_ini_parser.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /zend_ini_parser.c -o /zend_ini_parser.o  && echo > $@
/zend_ini_scanner.lo: /zend_ini_scanner.c
	$(CC)  -I/ -I/house/elmicha/local/php4-200206070600// $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) -c /zend_ini_scanner.c -o /zend_ini_scanner.o  && echo > $@


This makes the compile fail with this error message:

cc  -Imain/ -I/house/elmicha/local/php4-200206070600/main/ -DPHP_ATOM_INC -I/house/elmicha/local/php4-200206070600/include -I/house/elmicha/local/php4-200206070600/main -I/house/elmicha/local/php4-200206070600 -I/house/elmicha/local/php4-200206070600/Zend -I/house/elmicha/local/php4-200206070600/ext/xml/expat  -I/house/elmicha/local/php4-200206070600/TSRM -g  -c /house/elmicha/local/php4-200206070600/main/user_streams.c -o main/user_streams.o  && echo > main/user_streams.lo
Make: Don't know how to make /zend_language_parser.c.  Stop.

Installing GNU bison and flex did not help, neither did "configure --src-dir=/house/elmicha/local/php4-200206070600" change anything.

As a workaround, I changed the configure script:

bash-2.05$ diff -ub php4-200206070600/configure php4-200206070600.new
--- php4-200206070600/configure	Fri Jun  7 09:00:23 2002
+++ php4-200206070600.new/configure	Fri Jun  7 14:51:51 2002
@@ -78828,7 +78828,7 @@
   
   case /main in
   "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;;
-  /*) ac_srcdir=`echo $ac_n "/main$ac_c"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
+  /*) ac_srcdir=`echo $ac_n "/main"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
   *) ac_srcdir="$abs_srcdir//main/"; ac_bdir="/main/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;;
   esac
   
@@ -78869,7 +78869,7 @@
   
   case /main in
   "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;;
-  /*) ac_srcdir=`echo $ac_n "/main$ac_c"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
+  /*) ac_srcdir=`echo $ac_n "/main"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
   *) ac_srcdir="$abs_srcdir//main/"; ac_bdir="/main/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;;
   esac
   
@@ -78911,7 +78911,7 @@
   
   case /Zend in
   "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;;
-  /*) ac_srcdir=`echo $ac_n "/Zend$ac_c"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
+  /*) ac_srcdir=`echo $ac_n "/Zend"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
   *) ac_srcdir="$abs_srcdir//Zend/"; ac_bdir="/Zend/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;;
   esac


This makes "make" happy, but of course this is not the correct solution.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-06-17 21:31 UTC] sniper@php.net
This should be fixed now..can you test the latest snapshot:

http://snaps.php.net/php4-latest.tar.gz

(it does not contain the flex/bison generated files, so you need to have those tools installed)

 [2002-06-18 16:09 UTC] michael dot mauch at gmx dot de
GNU bison-1.35 and flex-2.5.4 are installed, but the bus still persists with php4-200206181200:

cc  -Imain/ -I/house/elmicha/local/src/php4-200206181200/main/ -DPHP_ATOM_INC -I/house/elmicha/local/src/php4-200206181200/include -I/house/elmicha/local/src/php4-200206181200/main -I/house/elmicha/local/src/php4-200206181200 -I/house/elmicha/local/src/php4-200206181200/Zend -I/house/elmicha/local/src/php4-200206181200/ext/xml/expat  -I/house/elmicha/local/src/php4-200206181200/TSRM -g  -c /house/elmicha/local/src/php4-200206181200/main/user_streams.c -o main/user_streams.o  && echo > main/user_streams.lo
Make: Don't know how to make /zend_language_parser.c.  Stop.
 [2002-06-18 16:11 UTC] michael dot mauch at gmx dot de
s/bus/bug in the comment above.
 [2002-06-18 17:55 UTC] sniper@php.net
What are the first 4 lines in the Makefile for you?
And what was the exact configure line used?
No funky defines? :)

--Jani

 [2002-06-18 18:54 UTC] michael dot mauch at gmx dot de
The first 4 lines of the Makefile:
srcdir = /house/elmicha/local/src/php4-200206181200
builddir = /house/elmicha/spe145/build
top_srcdir = /house/elmicha/local/src/php4-200206181200
top_builddir = /house/elmicha/spe145/build

I built in a separate build directory, the configure line was ~/local/src/php4-200206181200/configure --prefix=/house/elmicha/spe145

I also tried to give --srcdir, but no change in Makefile.objects. The same when I built directly in the directory where configure is.


I can report a few more observations; maybe this helps finding the source of the
problem.
The problematic lines in the configure script are the lines 78909 and below
(in php4-200206181200):

  case /Zend in
  "") ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;;
  /*) ac_srcdir=`echo $ac_n "/Zend$ac_c"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;;
  *) ac_srcdir="$abs_srcdir//Zend/"; ac_bdir="/Zend/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;;
  esac

If I put 

set +x
echo "ac_n: $ac_n"
echo "ac_c: $ac_c"

before these lines and a "exit 27" behind them, I get on Linux:

+ echo 'ac_n: -n'
ac_n: -n
+ echo 'ac_c: '
ac_c: 
++ echo -n /Zend
++ cut -c 2-
+ ac_srcdir=Zend/
+ ac_bdir=Zend/
+ ac_inc=-IZend/ -I/usr/local/src/php4-200206181200/Zend/
+ exit 27

On Tru64 (both 4.0 and 5.1) I get:

+ echo ac_n: 
ac_n: 
+ echo ac_c: \c
ac_c: + + cut -c 2-
+ echo /Zend\c
ac_srcdir=/
+ ac_bdir=/
+ ac_inc=-I/ -I/house/elmicha/local/src/php4-200206181200//
+ exit 27

So the "echo $ac_n "/Zend$ac_c"|cut -c 2-" is not working as expected on Tru64,
it results in an empty string instead of the expected "Zend".

A few other datapoints from inside the configure on Tru64; I added the following
lines:

set -x
type echo
echo $SHELL
echo $CONFIG_SHELL

And got:

+ whence -v echo
echo is a shell builtin
+ echo /bin/sh
/bin/sh
+ echo

Hmm, I still don't know what's going on. But /bin/sh is the oldest, ugliest, broke shell that's on this machine - why isn't the configure script finding /bin/ksh, or /usr/bin/bash? I tried /bin/ksh configure ..., but no difference.
 [2002-06-18 19:05 UTC] michael dot mauch at gmx dot de
If you don't have access to a Tru64 machine, you can get one for free-as-in-beer on <http://www.testdrive.compaq.com/>. You can find bison and flex for the spe145 machine in /house/elmicha/spe145/bin/bison and /house/elmicha/spe145/bin/flex, the php4-latest.tar.gz (php4-200206181200) is in /house/elmicha/local/src.
Maybe you have some better ideas to debug that problem.
 [2002-06-25 20:42 UTC] sniper@php.net
This should be fixed now:

http://snaps.php.net/php4-latest.tar.gz

(I'm currently downloading it myself so I can upload it to the testsite..thanks for the info about that one. :)

 [2002-06-25 21:55 UTC] sniper@php.net
Don't bother testing that snapshot. It doesn't work.

 [2002-07-07 21:18 UTC] sniper@php.net
This bug has been fixed in CVS. You can grab a snapshot of the
CVS version at http://snaps.php.net/. In case this was a documentation 
problem, the fix will show up soon at http://www.php.net/manual/.
In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites.
Thank you for the report, and for helping us make PHP better.


 [2002-07-09 12:52 UTC] michael dot mauch at gmx dot de
Yes, it works, thank you! I tested it on two Tru64 machines, no problems anymore.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sun Jul 13 02:01:32 2025 UTC