I got the “avahi-daemon disabled because there is a unicast .local domain” but I have no .local domain so I was a little bit confused.
~$ sudo /etc/init.d/avahi-daemon restart
* Restarting Avahi mDNS/DNS-SD Daemon: avahi-daemon
* avahi-daemon disabled because there is a unicast .local domain
After a while I realized that my ISP is playing tricks with the DNS. It will never return a “DNS lookup failed”, it always resolve any dns name you pass to it. If the name is assigned it will return the proper IP but if the name is not assigned it will return the IP of the ISP portal. (Nice trick to get more page hits in their home page).
So in order to make avahi work I changed my dns server to OpenDNS ones. But avahi give me the same “…unicast .local domain” error. Then I found that I have to delete the “/var/run/avahi-daemon/disabled-for-unicast-local” first. Otherwise the “/etc/init.d/avahi-daemon” init script won’t notice that change in DNS.
Hope this helps.