Frank Ellermann wrote:
Oleg M. Golovanov wrote:
I tried to set LDFLAGS & CPPFLAGS manually to point on
where to search header file with definition of NXDOMAIN
but it did not work.
On my system (OS/2 gcc) it's in ../include/arpa/nameser.h
#define NXDOMAIN 3
For another compiler it's also ../include/arpa/nameser.h
and the same #define (for ../include read "an include path").
On my system I have:
in file /usr/include/arpa/nameser_compat.h
----
#define NXDOMAIN ns_r_nxdomain
----
and in file /usr/include/arpa/nameser.h
----
typedef enum __ns_rcode {
ns_r_noerror = 0, /* No error occurred. */
ns_r_formerr = 1, /* Format error. */
ns_r_servfail = 2, /* Server failure. */
ns_r_nxdomain = 3, /* Name error. */
ns_r_notimpl = 4, /* Unimplemented. */
ns_r_refused = 5, /* Operation refused. */
/* these are for BIND_UPDATE */
ns_r_yxdomain = 6, /* Name exists */
ns_r_yxrrset = 7, /* RRset exists */
ns_r_nxrrset = 8, /* RRset does not exist */
ns_r_notauth = 9, /* Not authoritative for zone */
ns_r_notzone = 10, /* Zone of record different from zone
section */
ns_r_max = 11
} ns_rcode;
....
#ifdef BIND_4_COMPAT
#include <arpa/nameser_compat.h>
#endif
----
and in the file spf_sys_config.h (from spflib2 source):
----
#ifdef HAVE_ARPA_NAMESER_H
# ifdef HAVE_NS_TYPE
# include <arpa/nameser.h> /* DNS HEADER struct */
# else
/* looks like they have bind4/8 include files, use bind9 */
# define HAVE_BIND8
# include "../libreplace/arpa_nameser.h"
# define HAVE_NS_TYPE 1 /* we have it now */
# endif
#endif
----
then :
----
# grep nxdom ../libreplace/arpa_nameser.h
ns_r_nxdomain = 3, /* Name error. */
----
So I think that your way to solve this problem is not clear.
The problem is more deep and have to be solved in the source.