#42490 [Fbk->Opn]: PHP will not compile with BIND 9 installed

From: Date: Wed, 05 Sep 2007 14:29:29 +0000
Subject: #42490 [Fbk->Opn]: PHP will not compile with BIND 9 installed
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-117182@lists.php.net to get a copy of this message
ID: 42490 User updated by: jerry at scene-naturally dot dyndns dot org Reported By: jerry at scene-naturally dot dyndns dot org -Status: Feedback +Status: Open Bug Type: Compile Failure Operating System: OS X 10.4.10 PHP Version: 5.2.4 New Comment: Hello Jani and thank you for taking a further look at this problem. I tried the suggestion, but it did not work, running into a problem with dns. I have attached the output from running the make command. /temp/php-5.2.4/ext/standard/dns.c: In function 'zif_dns_get_record': /temp/php-5.2.4-copy/ext/standard/dns.c:673: error: 'HEADER' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:673: error: 'hp' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:674: error: parse error before 'buf' /temp/php-5.2.4/ext/standard/dns.c:778: error: 'QUERY' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:778: error: 'C_IN' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:778: error: 'buf' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:786: error: 'answer' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:797: error: parse error before ')' token /temp/php-5.2.4/ext/standard/dns.c: In function 'zif_dns_get_mx': /temp/php-5.2.4/ext/standard/dns.c:865: error: 'HEADER' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:865: error: 'hp' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:894: error: 'C_IN' undeclared (first use in this function) /temp/php-5.2.4/ext/standard/dns.c:901: error: parse error before ')' token make: *** [ext/standard/dns.lo] Error 1 There is an un-safe method to get this to work. Before running Configure, just move the libbind.a library out of /usr/local/lib and then run configure, which will then not put any of the dependent bind stuff into the various makefiles, etc. Jerry Previous Comments: ------------------------------------------------------------------------ [2007-09-05 10:31:18] jani@php.net Reopening, see bug #25955 I think this must be the reason it fails on Macosx with bind 9. Try delete the line with BIND_8_COMPAT in it from main/php_config.h after running configure and before 'make'. ------------------------------------------------------------------------ [2007-09-03 09:18:08] jani@php.net When you start messing around with your system, the results are unexpected. This is not PHP bug per se. ------------------------------------------------------------------------ [2007-09-02 15:34:52] jerry at scene-naturally dot dyndns dot org I have found a partial workaround, but it is very kludgy at best: 1) Turn off named. Turn off Postfix (master) and any other apps that are using the bind libraries. Just to be sure nothing odd happens, turn off the IMAP/POP servers and any of the second level apps that use those first level apps. Note: since these are usually started as LaunchDaemons or StartUpItems, you will need to disable them from re- starting. 2) Move the libbind.a and libbind9.a libraries out of /usr/local/lib to the desktop (or somewhere that is not in the search path of the Configure app). 3) Restart the machine. This is necessary. 4) Configure, make and install the new PHP. Take care of any post install stuff you need to do. 5) Undo step number 2. Undo step number 1. Restart the machine. ------------------------------------------------------------------------ [2007-08-31 15:28:13] jerry at scene-naturally dot dyndns dot org OS X does come with BIND (and it is almost ready to go out of the box) but it has a different set up. The libraries are /usr/lib/libresolv.9.dylib /usr/lib/libresolv.dylib The header file is /usr/include/resolv.h Note: The Developer Tools which you install to have compilers, etc also has the resolv.h file. The only libbind*.* libraries I have are from the BIND 9 installation. Linking the older header file to the new file does not fix things. ------------------------------------------------------------------------ [2007-08-31 07:05:29] jani@php.net You must have old libbind.* somewhere in your system which gets picked instead of the new one. Didn't you uninstall the old one before you installed the new one, apparently with different install prefix..? ------------------------------------------------------------------------ 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 http://bugs.php.net/42490 -- Edit this bug report at http://bugs.php.net/?id=42490&edit=1

« previous php.bugs (#117182) next »