--- nmap-6.25/libdnet-stripped/src/intf.c.orig 2012-12-06 13:43:47.010382941 -0800
+++ nmap-6.25/libdnet-stripped/src/intf.c 2012-12-06 13:43:55.634656979 -0800
@@ -339,7 +339,7 @@
/* Set link-level address. */
if (entry->intf_link_addr.addr_type == ADDR_TYPE_ETH &&
addr_cmp(&entry->intf_link_addr, &orig->intf_link_addr) != 0) {
-#if defined(SIOCSIFHWADDR)
+#if defined(SIOCSIFHWADDR) && (!defined(sun) && !defined(__sun) && !defined(__sun))
if (addr_ntos(&entry->intf_link_addr, &ifr.ifr_hwaddr) < 0)
return (-1);
if (ioctl(intf->fd, SIOCSIFHWADDR, &ifr) < 0)