A quick look at the logs when libvirt is starting shows: introdesk ~ # systemctl status libvirtd ● libvirtd.service - Virtualization daemon Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/libvirtd.service.d └─00gentoo.conf Active: active (running) since Thu 2018-08-30 13:45:27 CDT; 3min 17s ago Docs: man:libvirtd(8) https://libvirt.org Main PID: 19954 (libvirtd) Tasks: 25 (limit: 32768) Memory: 80.8M CGroup: /system.slice/libvirtd.service ├─ 2917 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/minikube-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 2919 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/minikube-net.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3006 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3007 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3064 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/private.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3065 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/private.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3108 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper ├─ 3109 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/docker-machines.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper └─19954 /usr/sbin/libvirtd Aug 30 13:45:28 introdesk.g02.org dnsmasq[2917]: read /etc/hosts - 38 addresses Aug 30 13:45:28 introdesk.g02.org dnsmasq[2917]: read /var/lib/libvirt/dnsmasq/minikube-net.addnhosts - 0 addresses Aug 30 13:45:28 introdesk.g02.org dnsmasq-dhcp[2917]: read /var/lib/libvirt/dnsmasq/minikube-net.hostsfile Aug 30 13:45:28 introdesk.g02.org dnsmasq[3064]: read /etc/hosts - 38 addresses Aug 30 13:45:28 introdesk.g02.org dnsmasq[3064]: read /var/lib/libvirt/dnsmasq/private.addnhosts - 0 addresses Aug 30 13:45:28 introdesk.g02.org dnsmasq-dhcp[3064]: read /var/lib/libvirt/dnsmasq/private.hostsfile Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: info : libvirt version: 4.6.0 Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: info : hostname: introdesk.g02.org Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: error : virGetUserID:1043 : invalid argument: Failed to parse user 'tss' Aug 30 13:45:28 introdesk.g02.org libvirtd[19954]: 2018-08-30 18:45:28.039+0000: 19970: error : virGetGroupID:1123 : invalid argument: Failed to parse group 'tss' When looking for a reference about this in the config files, I found: # /etc/libvirt/qemu.conf ... # User for the swtpm TPM Emulator # # Default is 'tss'; this is the same user that tcsd (TrouSerS) installs # and uses; alternative is 'root' # #swtpm_user = "tss" #swtpm_group = "tss" It seems trousers is needed for some functionality. Maybe include it in the dependencies or enable this by a USE flag?
Still the same symptom with app-emulation/libvirt-4.9.0
I fear that there is no good way of fixing this: (a) There seems to be no configuration option for tpm/trousers suppoert, (b) unconditionally depending on trousers is too invasise, (c) a use flag just to pull in an external dependency doesn't solve anything.
This is fixed with libvirt's upstream commit of: 615106fb10 qemu: Fix virDoes*Exist usage which is contained in the 4.10.0 release. Since the oldest release in portage is 5.2.0 this is fixed and can be closed.