diff -urpN avahi-0.6.22.orig/avahi-core/socket.c avahi-0.6.22/avahi-core/socket.c
--- avahi-0.6.22.orig/avahi-core/socket.c	2007-12-16 22:03:08.000000000 +0100
+++ avahi-0.6.22/avahi-core/socket.c	2008-03-31 17:13:24.000000000 +0200
@@ -394,13 +394,13 @@ int avahi_open_socket_ipv6(int no_reuse)
         avahi_log_warn("IPV6_UNICAST_HOPS failed: %s", strerror(errno));
         goto fail;
     }
-
+#ifdef IPV6_V6ONLY
     yes = 1;
     if (setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &yes, sizeof(yes)) < 0) {
         avahi_log_warn("IPV6_V6ONLY failed: %s", strerror(errno));
         goto fail;
     }
-
+#endif
     yes = 1;
     if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_LOOP, &yes, sizeof(yes)) < 0) {
         avahi_log_warn("IPV6_MULTICAST_LOOP failed: %s", strerror(errno));
