Bug #75487 [Fbk->NoF]: can't find res_ndestroy
Edit report at https://bugs.php.net/bug.php?id=75487&edit=1
ID: 75487
Updated by: php-bugs@lists.php.net
Reported by: ddmitrie at gmail dot com
Summary: can't find res_ndestroy
-Status: Feedback
+Status: No Feedback
Type: Bug
Package: Compile Failure
Operating System: Linux
PHP Version: 7.2.0RC5
Assigned To: cmb
Private report: N
New Comment:
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Re-Opened". Thank you.
Previous Comments:
------------------------------------------------------------------------
[2021-08-18 17:12:47] cmb@php.net
Is this still an issue for you with any of the actively supported
PHP versions[1]? If so, which compiler and libc (please specify
the versions as well) are you using.
[1] <https://www.php.net/supported-versions.php>
------------------------------------------------------------------------
[2017-11-10 03:03:28] ddmitrie at gmail dot com
7.2.0RC6 didn't change anything. Still fails to compile
------------------------------------------------------------------------
[2017-11-06 00:42:44] ddmitrie at gmail dot com
Description:
------------
configure makes certain attempts to find res_ndestroy() under various names, including for example
__res_ndestroy() and innocuous_res_ndestroy, in various libraries including bind, resolv
If I get it right, it finally finds this function in bind under __res_ndestroy name:
configure:79335: checking for __res_ndestroy in -lbind
configure:79360: cc -o conftest -I/usr/include -g -O2 -fvisibility=hidden -L/usr/lib
-Wl,-rpath,/home/myaccount/php/install/lib -L/home/myaccount/php/install/lib conftest.c -lbind
-lresolv -lcrypt -lrt -lrt -lm -ldl -configure:79360: $? = 0
configure:79369: result: yes
c
and main/php_config.h gets the following entry:
#define HAVE_RES_NDESTROY 1
all of sudden, make fails
it looks like res_ndestroy used by configure as an alias to __res_ndestroy didn't make through
and compiler still found res_ndestroy() calls, otherwise it would complaint about missed
__res_ndestroy
if I comment out HAVE_RES_NDESTROY in php_configure.h and rebuild with make clean all, it fails on
missed isfinite() function. Commenting out HAVE_ISFINITE brings yet another failure: undeclared
CALLGRIND_STOP_INSTRUMENTATION and CALLGRIND_START_INSTRUMENTATION symbols. Finally commenting out
HAVE_VALGRIND results in success.
Test script:
---------------
./configure --prefix=/home/myaccount/php/install \
--disable-fileinfo \
--with-libxml-dir=/home/myaccount/php/install && \
make
Actual result:
--------------
ext/standard/.libs/dns.o(.text+0x1608): In function `zif_dns_check_record':
php-7.2.0RC5/ext/standard/dns.c:422: undefined reference to `res_ndestroy'
ext/standard/.libs/dns.o(.text+0x1c1a): In function `zif_dns_get_record':
php-7.2.0RC5/ext/standard/dns.c:1013: undefined reference to `res_ndestroy'
ext/standard/.libs/dns.o(.text+0x1c9e):
php-7.2.0RC5/ext/standard/dns.c:937: undefined reference to `res_ndestroy'
ext/standard/.libs/dns.o(.text+0x1d60):
php-7.2.0RC5/ext/standard/dns.c:972: undefined reference to `res_ndestroy'
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=75487&edit=1
Thread (4 messages)