Bug #74904 [Com]: zend_operators.h: Error: The function "isfinite" must have a prototype.

From: Date: Tue, 11 Jul 2017 19:48:47 +0000
Subject: Bug #74904 [Com]: zend_operators.h: Error: The function "isfinite" must have a prototype.
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-209999@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74904&edit=1

 ID:                 74904
 Comment by:         john dot woods at greatplainsmfg dot com
 Reported by:        john dot woods at greatplainsmfg dot com
 Summary:            zend_operators.h:  Error: The function "isfinite"
                     must have a prototype.
 Status:             Open
 Type:               Bug
 Package:            Compile Failure
 Operating System:   Solaris 11.3.21.5.0 (x86-64)
 PHP Version:        7.1.7
 Block user comment: N
 Private report:     N

 New Comment:

Supporting a diversity of platforms, like Windows, Linux, Solaris, and other Unix variants is
actually a strength. I'm not going to argue with you any further about choice of
platforms/compilers, because it's simply not helpful to the PHP community at-large.

In short, if you don't care about using Solaris, you (personally) don't have to. Please
just go away, and let others provide *constructive* input that helps PHP continue to be an awesome
cross-platform development tool.


Previous Comments:
------------------------------------------------------------------------
[2017-07-11 19:23:16] spam2 at rhsoft dot net

well, use a state-of-the-art operating system or if you want to stick with outdated environments
just use outdated PHP - as always you have to make decisions

currently PHP 5.6 works, 7.0.x has active support and so you hav etime to make your decisions

------------------------------------------------------------------------
[2017-07-11 19:00:14] john dot woods at greatplainsmfg dot com

Upgrading to Solaris Studio 12.6 did not resolve the issue.

Unfortunately, C++ 03 (-std=sun03) is the default still for Solaris Studio, so as a sysadmin, I have
no choice but to roll with it. How do we sucessfully force the compiler to C++ 14? When I try just
using the switch "-std=c++14", the compiler throws errors like this:

"/opt/developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/bits/basic_string.h",
line 5300: Error: Could not find a match for __gnu_cxx::__to_xstring<_String, _CharT>(extern
"C" int(*)(char*,unsigned long,const char*,__va_list_element*), unsigned long, const
char[3], int) needed in std::to_string(int).
"/opt/developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/ext/string_conversions.h",
line 83: Note: Candidate 'std::string  __gnu_cxx::__to_xstring<std::string,
char>(int(*)(char*,unsigned long,const char*,__va_list_tag*), unsigned long, const char*,
...)' is not viable: argument '__convf' can't be converted from 'extern
"C" int(*)(char*,unsigned long,const char*,__va_list_element*)' to
'int(*)(char*,unsigned long,const char*,__va_list_tag*)'.

I'm going to continue working towards a resolution as well, but the fix is elusive currently.

------------------------------------------------------------------------
[2017-07-11 16:31:06] john dot woods at greatplainsmfg dot com

Yes, I did read the comments on that bug, and a patch that worked was committed, and is present in
7.1.7. Yet, we get a similar message. It's fundamentally a different issue, since this is C++,
not C.

As for the compiler, I'll upgrade from Solaris Studio 12.5 to 12.6, and see if that resolves
the issue.

------------------------------------------------------------------------
[2017-07-11 16:13:05] spam2 at rhsoft dot net

and while you say "I don't believe this is a duplicate of Bug #74265" did you read
the comments?

[2017-05-03 05:23 UTC] rasmus@php.net
gcc version 4.1.2 ?? That compiler is over 10 years old. You are probably going to need to add
-std=c99 to your build flags to get it to work on any modern codebase, or for heaven's sake,
upgrade to a compiler from this decade.

------------------------------------------------------------------------
[2017-07-11 16:11:12] spam2 at rhsoft dot net

-std=c++03 is simply too old - we have 2017 and way newer standards and i doubt PHP upstream
developers can and should forever care about 15 years or older compilers - there was a simliar
bugreport some months ago with a ages old GCC

------------------------------------------------------------------------


The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at

    https://bugs.php.net/bug.php?id=74904


--
Edit this bug report at https://bugs.php.net/bug.php?id=74904&edit=1


Thread (15 messages)

« previous php.bugs (#209999) next »