In commit 55d029addf7d97b15faacea597a4ff65542aaf0e, systemd removed the service files var-run.mount and var-lock.mount: "units: get rid of var-run.mount and var-lock.mount Since a number of distribitions don't need this compat glue anymore drop it from systemd upstream. Distributions which still haven't converted to /run can steal these unit files from the git history if they need to." Not all packages in Gentoo are using /run directly, so problems may arise when they use /var/run, and this is not a bind mount of (or link to) /run. For example, avahi will fail execution if /var/run/avahi-daemon/pid exists. It seems these files are not erased from a regular directory, at least in several systems of mine. In a tmpfs (which is the case of /var/run), this problem doesn't exists. A similar problem can occur with /var/lock, but I haven't seen it. I didn't notice this problem until I upgraded to systemd-188 a couple of weeks ago, since systemd-44 provides var-run.mount and var-lock.mount. The unit files are in the git history of systemd, but I can attach them if necessary. Reproducible: Always
Thanks for the report and the exact commit ;). -189-r1 adds those two files from 55d029addf7^.
Well, it now got to me... should I have enabled them implicitly? :P
systemd versions prior to 182 enabled the unit files by default (installing the links in /etc/systemd/system; the units don't have an [Install] section, so you can't enable them with systemctl). I suppose the correct solution is to enable them by default; I didn't realize this wasn't the casem since I had put the unit files in /etc/systemd/system and enabled them by hand.
Fixed in -r2 now.