Bug #74265 [Com]: Build problems after 7.0.17 release: undefined reference to `isfinite'
| From: | jon at isparks dot com | Date: | Fri, 16 Jun 2017 21:54:36 +0000 |
| Subject: | Bug #74265 [Com]: Build problems after 7.0.17 release: undefined reference to `isfinite' | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-209554@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=74265&edit=1
ID: 74265
Comment by: jon at isparks dot com
Reported by: deferraz at terra dot com dot br
Summary: Build problems after 7.0.17 release: undefined
reference to `isfinite'
Status: Closed
Type: Bug
Package: Compile Failure
Operating System: CentOS-5
PHP Version: 7.0.17
Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
I was able to build using this:
make CC="gcc -std=gnu99"
Testing this on an old version of gcc:
gcc --version
gcc (GCC) 4.1.2 20080704
Previous Comments:
------------------------------------------------------------------------
[2017-05-04 02:02:04] letshi at 163 dot com
I try modify PHP7.1.4 configure file.
I modify lineno 95508 95519 95530
modify ac_have_decl=1 to ac_have_decl=0
Compile Success On CentOS5.5 (gcc version 4.1.2)
95505 ac_fn_c_check_decl "$LINENO" "isfinite"
"ac_cv_have_decl_isfinite" "#include <math.h>
95506 "
95507 if test "x$ac_cv_have_decl_isfinite" = xyes; then :
95508 ac_have_decl=0
95509 else
95510 ac_have_decl=0
95511 fi
95512
95513 cat >>confdefs.h <<_ACEOF
95514 #define HAVE_DECL_ISFINITE $ac_have_decl
95515 _ACEOF
95516 ac_fn_c_check_decl "$LINENO" "isnan" "ac_cv_have_decl_isnan"
"#include <math.h>
95517 "
95518 if test "x$ac_cv_have_decl_isnan" = xyes; then :
95519 ac_have_decl=0
95520 else
95521 ac_have_decl=0
95522 fi
95523
95524 cat >>confdefs.h <<_ACEOF
95525 #define HAVE_DECL_ISNAN $ac_have_decl
95526 _ACEOF
95527 ac_fn_c_check_decl "$LINENO" "isinf" "ac_cv_have_decl_isinf"
"#include <math.h>
95528 "
95529 if test "x$ac_cv_have_decl_isinf" = xyes; then :
95530 ac_have_decl=0
95531 else
95532 ac_have_decl=0
95533 fi
------------------------------------------------------------------------
[2017-05-03 07:30:37] spam2 at rhsoft dot net
The same for the whole operating system - RHEL5 is officially EOL and nobody should consider
continue using it
------------------------------------------------------------------------
[2017-05-03 07:03:05] letshi at 163 dot com
I have some findings.
I found 7.1.2 before is no problem.
7.1.3 after the problem.
./configure --prefix=/PHP/32/target/php --with-config-file-path=/PHP/32/target/php/etc
--enable-maintainer-zts --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop
--enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-ftp
--enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap
--without-pear --with-gettext --enable-session
>>>config.log in 7.1.2
configure:95485: checking for isfinite
configure:95485: gcc -m32 -o conftest -I/usr/include -g -O2 -fvisibility=hidden -pthread
-D_REENTRANT conftest.c >&5
/tmp/ccsJhzxB.o: In function `main':
/usr/local/src/php-7.1.2/conftest.c:514: undefined reference to `isfinite'
.....
ac_cv_func_isfinite=no
>>>config.log in 7.1.3
configure:95505: checking whether isfinite is declared
configure:95505: gcc -m32 -c -I/usr/include -g -O2 -fvisibility=hidden -pthread -D_REENTRANT
conftest.c >&5
configure:95505: $? = 0
.....
ac_cv_have_decl_isfinite=yes
>>>configure for 7.1.2
95482 for ac_func in finite isfinite isinf isnan
95483 do :
95484 as_ac_var=
$as_echo "ac_cv_func_$ac_func" | $as_tr_sh
95485 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
95486 if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
95487 cat >>confdefs.h <<_ACEOF
95488 #define $as_echo "HAVE_$ac_func" | $as_tr_cpp 1
95489 _ACEOF
>>>configure for 7.1.3
95505 ac_fn_c_check_decl "$LINENO" "isfinite"
"ac_cv_have_decl_isfinite" "#include <math.h>
95506 "
95507 if test "x$ac_cv_have_decl_isfinite" = xyes; then :
95508 ac_have_decl=1
95509 else
95510 ac_have_decl=0
95511 fi
------------------------------------------------------------------------
[2017-05-03 05:59:37] letshi at 163 dot com
rasmus@php.net
Thank you very much for your reply, I will update gcc.
------------------------------------------------------------------------
[2017-05-03 05:23:12] 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.
------------------------------------------------------------------------
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=74265
--
Edit this bug report at https://bugs.php.net/bug.php?id=74265&edit=1