Bug #74265 [Com]: Build problems after 7.0.17 release: undefined reference to `isfinite'

From: 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

« previous php.bugs (#209554) next »