php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #65571 Compiling fails with - missing binary operator before token "extern"
Submitted: 2013-08-28 09:37 UTC Modified: 2013-10-01 16:33 UTC
Votes:2
Avg. Score:4.0 ± 1.0
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:0 (0.0%)
From: tony dot ar dot wright at bt dot com Assigned:
Status: Not a bug Package: Compile Failure
PHP Version: 5.5.3 OS: SuSE 9
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: tony dot ar dot wright at bt dot com
New email:
PHP Version: OS:

 

 [2013-08-28 09:37 UTC] tony dot ar dot wright at bt dot com
Description:
------------
I installed 5.5.2 ok but when I tried to install 5.5.3 I get the error message:

In file included from Zend/zend_language_scanner.l:40:
Zend/zend_language_parser.h:40:1: missing binary operator before token "extern"
make: *** [Zend/zend_language_scanner.lo] Error 1


Configure options used:

'./configure' '--with-apxs2=/usr/local/apache2/bin/apxs' '--enable-ftp' '--witho
ut-ldap' '--enable-sockets' '--with-gd' '--with-freetype-dir' '--without-mcrypt'
 '--with-zlib-dir' '--with-png-dir' '--with-oci8=/export/oracle/product/10.2.0/d
b_1' '--with-openssl'



Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-09-09 12:33 UTC] pascal at nobus dot be
I had the same problem on php-5.4.19
This on a slackware-10.1

Tried the snapshot (php5.4-201309091030), and it seems to be fixed there?

However I have no idea with what change the bug is fixed.
 [2013-10-01 14:36 UTC] mike@php.net
-Status: Open +Status: Feedback
 [2013-10-01 14:36 UTC] mike@php.net
What are your flex/bison versions?
 [2013-10-01 15:05 UTC] pascal at nobus dot be
For the slackware-OS: (also php-5.4.20 has this problem)

# flex -V
flex 2.5.33

# bison -V
bison (GNU Bison) 2.3
 [2013-10-01 15:21 UTC] mike@php.net
-Status: Feedback +Status: Suspended
 [2013-10-01 15:21 UTC] mike@php.net
Looks like you have to use bison2.4 - 2.7 to build from a source checkout.
 [2013-10-01 15:29 UTC] pascal at nobus dot be
apologies for my previous post, I was on the wrong server

# flex -V
flex version 2.5.4

# bison -V
bison (GNU Bison) 1.35


I'll try to get a later bison-version
 [2013-10-01 15:35 UTC] mike@php.net
If you build release tarballs, the bison version should not matter, though.
 [2013-10-01 15:47 UTC] pascal at nobus dot be
I updated to bison-1.875 (compiled from source), but this didn't matter indeed.
The problem appeared in php-5.4.19 and was not there in php-5.4.18.
I could build it just fine from complete source tarball.
 [2013-10-01 15:54 UTC] mike@php.net
-Status: Suspended +Status: Not a bug
 [2013-10-01 15:54 UTC] mike@php.net
Sorry for my ignorance, but (for me) 1.875 does not lie between 2.4 and 2.7
 [2013-10-01 16:27 UTC] pascal at nobus dot be
I couldn't compile 2.7, so tried first the latest from the 1-version.
Now I tried 2.4.1, which I could compile.
However the problem stays the same.

/bin/sh /usr/local/src/php-5.4.20/libtool --silent --preserve-dup-deps --
mode=compile cc  -IZend/ -I/usr/local/src/php-5.4.20/Zend/ -DPHP_ATOM_INC -
I/usr/local/src/php-5.4.20/include -I/usr/local/src/php-5.4.20/main -
I/usr/local/src/php-5.4.20 -I/usr/local/src/php-5.4.20/ext/date/lib -
I/usr/local/src/php-5.4.20/ext/ereg/regex -I/usr/include/libxml2 -
I/usr/local/include -I/usr/local/include/freetype2 -I/usr/local/src/php-
5.4.20/ext/sqlite3/libsqlite -I/usr/local/src/php-5.4.20/TSRM -
I/usr/local/src/php-5.4.20/Zend    -I/usr/include -g -O2  -c /usr/local/src/php-
5.4.20/Zend/zend_language_scanner.c -o Zend/zend_language_scanner.lo 
In file included from Zend/zend_language_scanner.l:40:
Zend/zend_language_parser.h:40:1: missing binary operator before token "extern"
make: *** [Zend/zend_language_scanner.lo] Error 1

# bison -V
bison (GNU Bison) 2.4.1
 [2013-10-01 16:33 UTC] nikic@php.net
@pascal: Could you try to do a `touch Zend/zend_language_parser.y` and then run `make` again? Likely the parser is not being regenerated, because it didn't change in the meantime.
 [2013-10-01 17:09 UTC] pascal at nobus dot be
That worked!
Build complete.

I've also tried your trick with the old bison (1.35), and that works also.
 [2014-01-08 15:49 UTC] akirchner dot hal at gmail dot com
Hi, i get the same error, but i use the version PHP 5.3.28:

PHP_Install/php-5.3.28/ext/date/lib -I/PHP_Install/php-5.3.28/ext/ereg/regex -I/usr/include/libxml2 -I/usr/include/mysql -I/PHP_Install/php-5.3.28/ext/sqlite3/libsqlite -I/PHP_Install/php-5.3.28/TSRM -I/PHP_Install/php-5.3.28/Zend    -I/usr/include -g -O2  -c /PHP_Install/php-5.3.28/Zend/zend_language_scanner.c -o Zend/zend_language_scanner.lo
In file included from Zend/zend_language_scanner.l:37:
Zend/zend_language_parser.h:40:1: missing binary operator before token "extern"
make: *** [Zend/zend_language_scanner.lo] Error 1

I use this option:

./configure --with-mysql=/usr/bin/ --with-libdir=lib64


i try to solve it with "Could you try to do a `touch Zend/zend_language_parser.y` and then run `make` again" 

But the same error

Thank you for help
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Nov 22 20:01:31 2024 UTC