Re: 4.3.4 compile on BIND9 systems
| From: | Christian Stocker | Date: | Fri, 17 Oct 2003 15:57:34 +0000 |
| Subject: | Re: 4.3.4 compile on BIND9 systems | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-4867@lists.php.net to get a copy of this message | ||
On 10/11/03 11:10 PM, Marko Karppinen wrote:
Hi, BIND9 has finally removed the long-deprecated T_A, T_MX result type symbols from the BIND4 era. checkdnsrr() in ext/standard/dns.c still relies on them, however, so at the moment PHP 4.3.4 doesn't build on a BIND9 system like Mac OS X 10.3 Panther.I run into the same problem (OS X 10.3). the following patch would fix it quick&dirty ;) Index: dns.c =================================================================== RCS file: /repository/php-src/ext/standard/dns.c,v retrieving revision 1.63 diff -u -r1.63 dns.c
--- dns.c 26 Sep 2003 08:09:55 -0000 1.63 +++ dns.c 17 Oct 2003 15:53:59 -0000@@ -56,6 +56,9 @@ #undef T_UNSPEC #endif #if HAVE_ARPA_NAMESER_H +#ifndef T_A +#define BIND_8_COMPAT 1 +#endif #include <arpa/nameser.h> #endif #if HAVE_RESOLV_H shall I commit it? or should we even define BIND_8_COMPAT always? chregu
Some possible solutions: 1. Define BIND_8_COMPAT to force the bind 9 nameser.h to include a compatibility file with these symbols. 2. Switch to the new naming (T_A -> ns_t_a, T_MX, ns_t_mx etc) and define aliases to the old ones if the new ones are not defined (ie. on a BIND4 or earlier system). Derick seems to favour the latter approach. Thanks, mk