# bison 3.0

- Thread: https://externals.io/message/79561
- Original archive: https://news-web.php.net/php.internals/79561
- Started by Sebastian Bergmann on 2014-12-11T07:52:59+00:00
- Messages: 10
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #79561 — Sebastian Bergmann — 2014-12-11T07:52:59+00:00

URL: https://externals.io/message/79561#79561

Hi!

 I just updated my notebook to Fedora 21 and am no longer able to
 build PHP on it since I now have bison 3.0.2 instead of bison 2.7.

 bison 3.0 is blacklisted in Zend/acinclude.m4. Is bison 3.0
 incompatible with our parser specification? If so, will it be
 upgraded? It's not really a good situation to be incompatible
 with current versions of essential tools such as bison.

 Best,
Sebastian

---

## #79564 — Ferenc Kovacs — 2014-12-11T08:36:56+00:00

URL: https://externals.io/message/79561#79564 · In reply to: #79561

On Thu, Dec 11, 2014 at 8:52 AM, Sebastian Bergmann <sebastian@php.net>
wrote:

>  Hi!
>
>  I just updated my notebook to Fedora 21 and am no longer able to
>  build PHP on it since I now have bison 3.0.2 instead of bison 2.7.
>
>  bison 3.0 is blacklisted in Zend/acinclude.m4. Is bison 3.0
>  incompatible with our parser specification? If so, will it be
>  upgraded? It's not really a good situation to be incompatible
>  with current versions of essential tools such as bison.
>
>  Best,
> Sebastian
>
> --
> 
> 
>
>
CCing Mike as he was the author who originally added 3.0 to the exclude
list.
I have a vague memory of building master successfully with bison 3.0.2
(from homebrew) on Mac Mavericks via removing 3.0 from
bison_version_exclude in Zend/acinclude.m4 so I think that not all versions
of bison 3.0 are affected, but currently I'm using the bison27
alternative(as XCode/Command Line Tools comes with bison 2.3 by default and
master requires >=2.4).

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

---

## #79566 — Lior Kaplan — 2014-12-11T09:02:28+00:00

URL: https://externals.io/message/79561#79566 · In reply to: #79564

AFAIK, PHP builds fine with bison 3. At least with the common scenarios on
UNIX like systems.

TS builds might be the problem if my memory serves me right.

Kaplan



> On Thu, Dec 11, 2014 at 8:52 AM, Sebastian Bergmann <sebastian@php.net>
> wrote:
>
> > […]
> CCing Mike as he was the author who originally added 3.0 to the exclude
> list.
> I have a vague memory of building master successfully with bison 3.0.2
> (from homebrew) on Mac Mavericks via removing 3.0 from
> bison_version_exclude in Zend/acinclude.m4 so I think that not all versions
> of bison 3.0 are affected, but currently I'm using the bison27
> alternative(as XCode/Command Line Tools comes with bison 2.3 by default and
> master requires >=2.4).
>
> --
> Ferenc Kovács
> @Tyr43l - http://tyrael.hu

---

## #79571 — Leigh — 2014-12-11T13:36:53+00:00

URL: https://externals.io/message/79561#79571 · In reply to: #79561

>  Hi!
>
>  I just updated my notebook to Fedora 21 and am no longer able to
>  build PHP on it since I now have bison 3.0.2 instead of bison 2.7.
>
>  bison 3.0 is blacklisted in Zend/acinclude.m4. Is bison 3.0
>  incompatible with our parser specification? If so, will it be
>  upgraded? It's not really a good situation to be incompatible
>  with current versions of essential tools such as bison.
>
>  Best,
> Sebastian
>

I've been building fine on a Debian based system with bison 3.0.2 just
by commenting out the exclusion.

There is also this: https://github.com/php/php-src/pull/685

---

## #79586 — Julien Pauli — 2014-12-12T08:47:43+00:00

URL: https://externals.io/message/79561#79586 · In reply to: #79571

> 
> > […]
>
> I've been building fine on a Debian based system with bison 3.0.2 just
> by commenting out the exclusion.
>
> There is also this: https://github.com/php/php-src/pull/685

In the worst scenario, there is also : downgrade your Bison.

That's what we do as RMs, to have a very accurate version of Bison
when we prepare the builds.
Bison is very easy to compile, and so to replace your default OS's one is easy.


Julien.P

---

## #79588 — Michael Wallner — 2014-12-12T11:02:53+00:00

URL: https://externals.io/message/79561#79588 · In reply to: #79564

> CCing Mike as he was the author who originally added 3.0 to the exclude
> list.

Yes, I'm on ArchLinux, which has very recent software versions, so I
just added it to the exclude, when I upgraded bison to 3.0 and then
downgraded bison again.

IIRC ZTS builds fail with bison3 because of removed features, which were
already deprecated in 2.7.

-- 
Regards,
Mike

---

## #79591 — Sebastian Bergmann — 2014-12-12T12:12:36+00:00

URL: https://externals.io/message/79561#79591 · In reply to: #79586

Am 12.12.2014 um 09:47 schrieb Julien Pauli:
> In the worst scenario, there is also: downgrade your Bison.

 I have done that for now, of course. What worries me is the reliance
 on outdated and unsupported tools.

---

## #79592 — Jan Ehrhardt — 2014-12-12T12:21:52+00:00

URL: https://externals.io/message/79561#79592 · In reply to: #79588

Michael Wallner in php.internals (Fri, 12 Dec 2014 12:02:53 +0100):
>
>
> > […]
>
>Yes, I'm on ArchLinux, which has very recent software versions, so I
>just added it to the exclude, when I upgraded bison to 3.0 and then
>downgraded bison again.
>
>IIRC ZTS builds fail with bison3 because of removed features, which were
>already deprecated in 2.7.

On Windows Bison 3 creates wrong versions of zend_ini_parser.c and
zend_language_parser.c, but only for PHP 5.4 ZTS.

Jan

---

## #79593 — Ferenc Kovacs — 2014-12-12T13:13:32+00:00

URL: https://externals.io/message/79561#79593 · In reply to: #79592

>
> Michael Wallner in php.internals (Fri, 12 Dec 2014 12:02:53 +0100):
> > […]
>
> On Windows Bison 3 creates wrong versions of zend_ini_parser.c and
> zend_language_parser.c, but only for PHP 5.4 ZTS.
>
>
The bison blacklist check was introduced with PHP-5.6.
for 5.4 and 5.5 we have the old whitelist and for 5.4 the maximum supported
bison version listed there is 2.6.4.
Sebastian, could you clarify which PHP versions do you feel necessary to
support bison 3 with it?
I think that 5.4 is out of question, having it in 5.5 would be nice, but
not really mandatory, as most distros will still provide legacy bison
packges before 5.5 is eoled.
(Fedora 20 had bison 2.7, fedora 21 has bison 3.0.2 but fc21 already ships
with php 5.6).
What do you think?

-- 
Ferenc Kovács
@Tyr43l - http://tyrael.hu

---

## #80783 — Derick Rethans — 2015-01-19T09:58:47+00:00

URL: https://externals.io/message/79561#80783

> Le 11/12/2014 08:52, Sebastian Bergmann a écrit :
> > […]
> 
> Ubuntu also only ships 3.0.2, even in LTS and there are no older 
> legacy versions of Bison available via repositories. With Fedora 
> that's probably the majority of Linux users that can't compile PHP out 
> of the box with the instructions provided on php.net.

Are you sure about this? I've just checked the code, and commit:

commit 854ccf50c9d01e6e54227cd2479976cb3ca76a56
Author: krakjoe <joe.watkins@live.co.uk>
Date:   Mon Dec 22 21:32:14 2014 +0000

    remove 3.0 from excluded versions because limitation lifted by native-tls

Removes the "3.0" from the excluded versions, although it should say 
"none" instead of "" as per comments above it.

The native TLS branch got merged on December 18th - perhaps you should 
update to the latest GIT version?

cheers,
Derick

-- 
http://derickrethans.nl | http://xdebug.org
Like Xdebug? Consider a donation: http://xdebug.org/donate.php
twitter: @derickr and @xdebug
Posted with an email client that doesn't mangle email: alpine
