--- /dev/null
+--- a/ntp_io.c
++++ b/ntp_io.c
+@@ -355,6 +355,7 @@ read_from_socket(void *anything)
+ }
+ #endif
+
++#ifdef HAVE_IPV6
+ #ifdef IPV6_PKTINFO
+ if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) {
+ struct in6_pktinfo ipi;
+@@ -365,6 +366,7 @@ read_from_socket(void *anything)
+ remote_addr.local_ip_addr.family = IPADDR_INET6;
+ }
+ #endif
++#endif
+
+ #ifdef SO_TIMESTAMP
+ if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SO_TIMESTAMP) {
+@@ -466,6 +468,7 @@ send_packet(void *packet, int packetlen,
+ }
+ #endif
+
++#ifdef HAVE_IPV6
+ #ifdef IPV6_PKTINFO
+ if (remote_addr->local_ip_addr.family == IPADDR_INET6) {
+ struct cmsghdr *cmsg;
+@@ -484,6 +487,7 @@ send_packet(void *packet, int packetlen,
+ sizeof(ipi->ipi6_addr.s6_addr));
+ }
+ #endif
++#endif
+
+ #if 0
+ LOG(LOGS_INFO, LOGF_NtpIO, "sending to %s:%d from %s",