--- nmap-7.95/libdnet-stripped/src/intf.c.orig	2012-12-06 13:43:47.010382941 -0800
+++ nmap-7.95/libdnet-stripped/src/intf.c	2012-12-06 13:43:55.634656979 -0800
@@ -349,7 +349,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)