php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #69780 PHP 5.6.9 configure compains about bison 3.0.4
Submitted: 2015-06-09 03:38 UTC Modified: 2015-06-10 00:43 UTC
From: dev at cor0 dot com Assigned:
Status: Not a bug Package: *Compile Issues
PHP Version: 5.6.9 OS: Solaris
Private report: No CVE-ID: None
 [2015-06-09 03:38 UTC] dev at cor0 dot com
Description:
------------
After running configure the following message is seen : 

configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).

However bisone 3.0.4 is the most recent production release : 

$ /usr/local/bin/bison --version 
bison (GNU Bison) 3.0.4
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


This seems similar to Bug #69055 which states "Bison 3.0.2 not supported".

Reverting to some early release of bison should not be a reasonable response here. If that were the case then the same logic would apply to GNU make and even OpenSSL and many other software packages.



Test script:
---------------
No test script. Simply run configure with bison 3.0.4 installed.

Expected result:
----------------
Expect no warning

Actual result:
--------------
Within output from configure the following is seen : 

.
.
.
checking whether it is safe to define __EXTENSIONS__... yes
checking whether ln -s works... yes
checking for system library directory... lib
checking whether to enable runpaths... yes
checking if compiler supports -R... yes
checking for gawk... gawk
checking for bison... bison -y
checking for bison version... invalid
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: 3.0, min: 204, excluded: 3.0).
checking for re2c... re2c
checking for re2c version... 0.13.5 (ok)
checking whether to enable computed goto gcc extension with re2c... no
checking whether to force non-PIC code in shared modules... no
checking whether /dev/urandom exists... yes
checking for pthreads_cflags...
checking for pthreads_lib...
.
.
.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-06-09 05:11 UTC] rasmus@php.net
-Status: Open +Status: Not a bug
 [2015-06-09 05:11 UTC] rasmus@php.net
We are focused on PHP 7 at this point. We don't have the bandwidth to go back and make 5.6 compatible with Bison 3. Installing an older version is really not a big deal. You don't need to change the system-wide one, just install it anywhere and set the PATH for your build.

GNU make doesn't tend to break both backward and forward compatibility the way Bison does. And OpenSSL is a completely different issue. There are plenty of versions we don't support.
 [2015-06-09 12:17 UTC] dev at cor0 dot com
OKay, so what you are really saying, and this is just reading between the lines, is that bison is broken in some way.  Bison is broken in terms of its own functionality and so I should go take this up with the bison folks, and I assure you I will.
 [2015-06-10 00:43 UTC] rasmus@php.net
Not really, they are free to make compatibility-breaking changes, especially in a major release. But at the same time you can't expect everyone who has built parsers against Bison2 to backtrack and refactor things to work with this new major release. PHP 7 works nicely with Bison versions 2.4.x to 3.0.x. PHP 5.4 works with 1.28 to 2.6.4. It is a moving target and we try to support as wide a range of versions as possible, but once the bulk of development moves to the next version and a new Bison is released which does something to break older releases of PHP we have to just move on.
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Thu Apr 09 05:01:23 2020 UTC