/etc/init.d/ntp-client does not wait for dns service such as /etc/init.d/dnsmasq at startup. So ntpdate fails if /etc/resolv.conf relies completely on localhost and dnsmasq. /etc/init.d/ntp-client has "use dns" but would rather "need dns" or "after dns" as dependency. Reproducible: Always
if you have dnsmasq in your runlevels, then 'use dns' works just fine 'need dns' makes no sense because many people don't have an init.d script that provides dns services, and because 'use' works just as fine 'after dns' also makes no sense when compared to 'use dns' post your `emerge --info` as every bug report should have, and post an example boot log (look for rc.log in /var/log/), and post `rc-status --all`.
I realized the error is not about ntp-client but was a failing dnsmasq for another reason: $ rc-status Runlevel: default metalog [ started ] dnsmasq [ stopped ] netmount [ started ] rsyncd [ started ] ntp-client [ stopped ] fcron [ started ] cupsd [ started ] nfs [ started ] sshd [ started ] shorewall [ started ] gpm [ started ] distccd [ started ] vmware [ started ] xdm [ started ] local [ started ] Dynamic Runlevel: hotplugged net.enp0s26f7u3 [ started ] net.enp0s25 [ started ] Dynamic Runlevel: needed dbus [ started ] rpc.pipefs [ started ] rpcbind [ started ] rpc.idmapd [ started ] rpc.statd [ started ] Dynamic Runlevel: manual $ grep dnsmasq /var/log/everything/current Apr 22 11:05:55 [dnsmasq] unknown interface vmnet1 Apr 22 11:05:55 [dnsmasq] FAILED to start up ..that interface comes up later by some module. Setting to INVALID...