Bug #79841 [Csd]: Syntax error in configure / unescaped "[]" in php.m4
| From: | nikic@php.net | Date: | Mon, 13 Jul 2020 07:42:21 +0000 |
| Subject: | Bug #79841 [Csd]: Syntax error in configure / unescaped "[]" in php.m4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-227985@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=79841&edit=1
ID: 79841
Updated by: nikic@php.net
Reported by: rainer dot jung at kippdata dot de
Summary: Syntax error in configure / unescaped "[]" in php.m4
Status: Closed
Type: Bug
Package: *Compile Issues
Operating System: Any using "configure"
PHP Version: 8.0.0alpha2
-Assigned To:
+Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
I've fixed this in master, but I'm not seeing any any autoconf code using [ -z ] on 7.4.
Previous Comments:
------------------------------------------------------------------------
[2020-07-13 07:41:11] nikic@php.net
Automatic comment on behalf of nikita.ppv@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=86e2b7bb70131b48636cded57e5bc62b81b79865
Log: Fixed bug #79841
------------------------------------------------------------------------
[2020-07-13 06:44:10] rainer dot jung at kippdata dot de
Description:
------------
"configure" warns:
./configure: line 5571: -z: command not found
The script contains wrong syntax:
5571 -z "$php_bison_version" && php_bison_version=0.0.0
...
5676 -z "$php_re2c_version" && php_re2c_version=0.0.0
The root cause is in file build/php.m4 introduced in commit https://github.com/php/php-src/commit/fe2afef36fc78c267133ddd403f48e0ee799efbc
(#78750, GH-5681):
1787 [ -z "$php_bison_version" ] && php_bison_version=0.0.0
...
1852 [ -z "$php_re2c_version" ] && php_re2c_version=0.0.0
The square brackets need escaping in the m4 macro files. Directly below those lines a different
syntax is used. Therefore I suggest to replace the two lines as follows:
if test -z "$php_bison_version" ; then
php_bison_version=0.0.0
fi
and
if test -z "$php_re2c_version" ; then
php_re2c_version=0.0.0
fi
Note that the problematic change also was back-ported to PHP 7.4 after 7.4.8
(https://github.com/php/php-src/pull/5681/commits/94c76e5e964aceb7e40fc6a15cf0ce247585c154). It
should be fixed there as well before the next PHP 7.4 release.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=79841&edit=1