[Pdns-dev] pdns IPv6 compilation failure on OSX (svn head)
Justin Clift
justin at salasaga.org
Sun Oct 7 03:59:34 CEST 2012
Hi guys,
Just tried to compile pdns auth server from svn head on OSX 10.7,
but it's barfing with IPv6 stuff:
***
g++ -DHAVE_CONFIG_H -I. -I.. -Ibackends/bind -DSYSCONFDIR=\"/tmp/foo/etc\" -DLIBDIR=\"/tmp/foo/lib\" -DLOCALSTATEDIR=\"/var/run\" -Ibackends/bind -I/usr/local/include -I/usr/local/Cellar/sqlite/3.7.13/include -Iext/polarssl-1.1.2/include -pthread -Wall -O2 -MT pdns_server-logger.o -MD -MP -MF .deps/pdns_server-logger.Tpo -c -o pdns_server-logger.o `test -f 'logger.cc' || echo './'`logger.cc
nameserver.cc:83:1: warning: "GEN_IP_PKTINFO" redefined
nameserver.cc:80:1: warning: this is the location of the previous definition
mv -f .deps/nsecrecords.Tpo .deps/nsecrecords.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Ibackends/bind -DSYSCONFDIR=\"/tmp/foo/etc\" -DLIBDIR=\"/tmp/foo/lib\" -DLOCALSTATEDIR=\"/var/run\" -Ibackends/bind -I/usr/local/include -I/usr/local/Cellar/sqlite/3.7.13/include -Iext/polarssl-1.1.2/include -pthread -Wall -O2 -MT pdns_server-arguments.o -MD -MP -MF .deps/pdns_server-arguments.Tpo -c -o pdns_server-arguments.o `test -f 'arguments.cc' || echo './'`arguments.cc
mv -f .deps/pdns_server-qtype.Tpo .deps/pdns_server-qtype.Po
g++ -DHAVE_CONFIG_H -I. -I.. -Ibackends/bind -DSYSCONFDIR=\"/tmp/foo/etc\" -DLIBDIR=\"/tmp/foo/lib\" -DLOCALSTATEDIR=\"/var/run\" -Ibackends/bind -I/usr/local/include -I/usr/local/Cellar/sqlite/3.7.13/include -Iext/polarssl-1.1.2/include -pthread -Wall -O2 -MT pdns_server-packethandler.o -MD -MP -MF .deps/pdns_server-packethandler.Tpo -c -o pdns_server-packethandler.o `test -f 'packethandler.cc' || echo './'`packethandler.cc
nameserver.cc: In member function ‘void UDPNameserver::bindIPv6()’:
nameserver.cc:178: error: ‘IPV6_RECVPKTINFO’ was not declared in this scope
nameserver.cc: In static member function ‘static void UDPNameserver::send(DNSPacket*)’:
nameserver.cc:236: error: ‘IPV6_PKTINFO’ was not declared in this scope
nameserver.cc: In function ‘bool HarvestDestinationAddress(msghdr*, ComboAddress*)’:
nameserver.cc:307: error: ‘IPV6_PKTINFO’ was not declared in this scope
make[4]: *** [pdns_server-nameserver.o] Error 1
make[4]: *** Waiting for unfinished jobs....
mv -f .deps/pdns_server-logger.Tpo .deps/pdns_server-logger.Po
mv -f .deps/pdns_server-dnspacket.Tpo .deps/pdns_server-dnspacket.Po
mv -f .deps/pdns_server-arguments.Tpo .deps/pdns_server-arguments.Po
mv -f .deps/pdns_server-packethandler.Tpo .deps/pdns_server-packethandler.Po
make[3]: *** [all-recursive] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
***
Configuration was done using:
./configure --prefix=/tmp/foo --with-modules=gsqlite3 --with-lua --with-sqlite3 --with-sqlite=/usr/local
Those defines themselves do seem to be on OSX:
$ egrep -r "IPV6_RECVPKTINFO|IPV6_PKTINFO|IPV6_PKTINFO" /usr/include/*
/usr/include/netinet6/in6.h: * IPV6_PKTINFO
/usr/include/netinet6/in6.h:#define IPV6_PKTINFO IPV6_2292PKTINFO
/usr/include/netinet6/in6.h:#define IPV6_RECVPKTINFO 61 /* bool; recv if, dst addr
/usr/include/netinet6/in6.h:#define IPV6_PKTINFO IPV6_3542PKTINFO
Tried adding "#include <netinet/in.h>" to pdns/nameserver.cc, but that
make no difference. :(
Guessing it's a scoping problem of some sort? Anyone have suggestions
for a quick fix to test with? (note that I'm not a c++ guy at all)
Regards and best wishes,
Justin Clift
More information about the Pdns-dev
mailing list