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
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
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

Add a Patch

Pull Requests

Add a Pull Request

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-2024 The PHP Group
All rights reserved.
Last updated: Tue May 07 20:01:32 2024 UTC