php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #12913 Zend compilation failure
Submitted: 2001-08-22 17:58 UTC Modified: 2001-08-23 11:47 UTC
From: nihilist at spiff dot nihilist dot ca Assigned:
Status: Closed Package: Compile Failure
PHP Version: 4.0.6 OS: Linux/Slackware 8
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: nihilist at spiff dot nihilist dot ca
New email:
PHP Version: OS:

 

 [2001-08-22 17:58 UTC] nihilist at spiff dot nihilist dot ca
Quick note:  I've seen this before, and it was on a Solaris 2.7 box, running GCC3.  Has anybody else had this problem?

GCC Version:  3.0 (Single threaded)
Flex Version: 2.5.4
Make Version: 3.79.1

Error information:

root@oracle:/usr/src/php-4.0.6# make
Making all in Zend
make[1]: Entering directory `/usr/src/php-4.0.6/Zend'
/bin/sh ../libtool --silent --mode=compile c++ -DHAVE_CONFIG_H -I. -I. -I../main   -D_REENTRANT -DSUPPORT_UTF8 -DXML_BYTE_ORDER=12 -I../TSRM  -g -O2 -pthread -c zend_language_scanner_cc.cc
In file included from FlexLexer.h:47,
                 from zend_language_scanner_cc.cc:240:
/usr/local/include/g++-v3/backward/iostream.h:36: using directive `istream'
   introduced ambiguous type `istream'
In file included from zend_language_scanner_cc.cc:2712:
zend_istdiostream.h:8: 'stdiobuf' is used as a type, but is not defined as a
   type.
zend_istdiostream.h:11: syntax error before `*' token
zend_istdiostream.h: In constructor `istdiostream::istdiostream(FILE*)':
zend_istdiostream.h:10: class `istdiostream' does not have any field named
   `_file'
zend_istdiostream.h:10: no matching function for call to
   `std::basic_istream<char, std::char_traits<char> >::basic_istream()'
/usr/local/include/g++-v3/bits/std_istream.h:209: candidates are:
   std::basic_istream<_CharT, _Traits>::basic_istream(const
   std::basic_istream<_CharT, _Traits>&) [with _CharT = char, _Traits =
   std::char_traits<char>]
/usr/local/include/g++-v3/bits/std_istream.h:72:
   std::basic_istream<_CharT,
   _Traits>::basic_istream(std::basic_streambuf<_CharT, _Traits>*) [with _CharT
   = char, _Traits = std::char_traits<char>]
zend_istdiostream.h:10: `_file' undeclared (first use this function)
zend_istdiostream.h:10: (Each undeclared identifier is reported only once for
   each function it appears in.)
zend_istdiostream.h: At global scope:
zend_istdiostream.h:12: parse error before `}' token
zend_language_scanner_cc.cc: In function `void
   zend_file_handle_dtor(zend_file_handle*)':
zend_language_scanner_cc.cc:2823: no matching function for call to
   `std::basic_streambuf<char, std::char_traits<char> >::stdiofile()'
zend_language_scanner_cc.cc: In function `int
   open_file_for_scanning(zend_file_handle*, zend_compiler_globals*)':
zend_language_scanner_cc.cc:2894: no matching function for call to
   `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(int&)'
/usr/local/include/g++-v3/bits/std_iosfwd.h:81: candidates are:
   std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(const
   std::basic_ifstream<char, std::char_traits<char> >&)
/usr/local/include/g++-v3/bits/std_fstream.h:258:
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream(const char*,
   std::_Ios_Openmode = std::ios_base::in) [with _CharT = char, _Traits =
   std::char_traits<char>]
/usr/local/include/g++-v3/bits/std_fstream.h:253:
   std::basic_ifstream<_CharT, _Traits>::basic_ifstream() [with _CharT = char,
   _Traits = std::char_traits<char>]
zend_language_scanner_cc.cc: In member function `int
   ZendFlexLexer::lex_scan(zval*, zend_compiler_globals*)':
zend_language_scanner_cc.cc:4705: cannot convert `std::istream*' to `istream*'
   in assignment
zend_language_scanner_cc.cc: In member function `void
   zendFlexLexer::yy_load_buffer_state()':
zend_language_scanner_cc.cc:5241: cannot convert `istream*' to `std::istream*'
   in assignment
zend_language_scanner_cc.cc: In member function `void
   zendFlexLexer::yy_init_buffer(yy_buffer_state*, std::istream*)':
zend_language_scanner_cc.cc:5292: cannot convert `std::istream*' to `istream*'
   in assignment
make[1]: *** [zend_language_scanner_cc.lo] Error 1
make[1]: Leaving directory `/usr/src/php-4.0.6/Zend'
make: *** [all-recursive] Error 1

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-08-22 18:31 UTC] sniper@php.net
Please try the latest CVS snapshot from http://snaps.php.net/ since this is most likely 
fixed. The scanners don't use c++ code anymore.

--Jani

 [2001-08-23 11:27 UTC] nihilist at spiff dot nihilist dot ca
That fixed it, worked just fine, and even compiled Oracle8 support in without errors!
 [2001-08-23 11:47 UTC] derick@php.net
Fixed in latest CVS (says user)
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed May 07 17:01:30 2025 UTC