After installing app-emulation/virtiofsd-1.6.1, guest failed to start with error: "error: internal error: virtiofsd binary '/usr/libexec/virtiofsd' is not executable" Reproducible: Always Steps to Reproduce: 1. start any guest 2. navigate to "Add Hardware" in virt-manager 3. choose "Filesystem" and choose driver "virtiofs" 4. restart the guest 5. then it report error: "error: internal error: virtiofsd binary '/usr/libexec/virtiofsd' is not executable" Actual Results: # qlist app-emulation/virtiofsd /usr/share/qemu/vhost-user/40-qemu-virtiofsd.json /usr/bin/virtiofsd then, check 40-qemu-virtiofsd.json, the expected binary path is "/usr/libexec/virtiofsd", but the package installed in /usr/bin/virtiofsd Further check it again, there is actually no '/usr/libexec/virtiofsd' installed by the package. Expected Results: have the 40-qemu-virtiofsd.json point to the correct binary path. create an softlink resolved the issue: # ln -s /usr/bin/virtiofsd /usr/libexec/virtiofsd
Please share which (full) versions of libvirt and qemu are installed, thanks.
(In reply to Sam James from comment #1) > Please share which (full) versions of libvirt and qemu are installed, thanks. Hello, here are the qemu and libvirt info: ``` localhost ~ # eix -e app-emulation/qemu [I] app-emulation/qemu Available versions: 7.2.0-r3^t ~7.2.1^t 7.2.3^t ~7.2.3-r1^t ~7.2.4^t ~8.0.0-r1^t ~8.0.2^t ~8.0.2-r2^t 8.0.3^t **9999*l^t {accessibility +aio alsa bpf bzip2 capstone +curl debug (+)doc +fdt +filecaps fuse glusterfs +gnutls gtk infiniband io-uring iscsi jack jemalloc +jpeg lzo multipath ncurses nfs nls numa opengl +oss pam +pin-upstream-blobs pipewire plugins +png pulseaudio python rbd sasl sdl sdl-image +seccomp selinux +slirp smartcard snappy spice ssh static static-user systemtap test udev usb usbredir vde +vhost-net virgl virtfs +vnc vte xattr xen zstd PYTHON_TARGETS="python3_10 python3_11 python3_12" QEMU_SOFTMMU_TARGETS="aarch64 alpha arm avr cris hppa i386 loongarch64 m68k microblaze microblazeel mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 rx s390x sh4 sh4eb sparc sparc64 tricore x86_64 xtensa xtensaeb" QEMU_USER_TARGETS="aarch64 aarch64_be alpha arm armeb cris hexagon hppa i386 loongarch64 m68k microblaze microblazeel mips mips64 mips64el mipsel mipsn32 mipsn32el nios2 or1k ppc ppc64 ppc64le riscv32 riscv64 s390x sh4 sh4eb sparc sparc64 sparc32plus x86_64 xtensa xtensaeb"} Installed versions: 8.0.3^t(04:19:06 PM 07/26/2023)(aio alsa bpf bzip2 curl fdt filecaps gnutls gtk io-uring jpeg ncurses nls opengl oss pam pin-upstream-blobs png pulseaudio sdl seccomp slirp spice udev usb usbredir vhost-net virgl virtfs vnc xattr zstd -accessibility -capstone -debug -doc -fuse -glusterfs -infiniband -iscsi -jack -jemalloc -lzo -multipath -nfs -numa -plugins -python -rbd -sasl -sdl-image -selinux -smartcard -snappy -ssh -static-user -systemtap -test -vde -vte -xen PYTHON_TARGETS="python3_11 -python3_10 -python3_12" QEMU_SOFTMMU_TARGETS="x86_64 -aarch64 -alpha -arm -avr -cris -hppa -i386 -loongarch64 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -nios2 -or1k -ppc -ppc64 -riscv32 -riscv64 -rx -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -xtensa -xtensaeb" QEMU_USER_TARGETS="-aarch64 -aarch64_be -alpha -arm -armeb -cris -hexagon -hppa -i386 -loongarch64 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -nios2 -or1k -ppc -ppc64 -ppc64le -riscv32 -riscv64 -s390x -sh4 -sh4eb -sparc -sparc64 -sparc32plus -x86_64 -xtensa -xtensaeb") Homepage: https://www.qemu.org https://www.linux-kvm.org Description: QEMU + Kernel-based Virtual Machine userland tools ``` ``` localhost ~ # eix -e app-emulation/libvirt [I] app-emulation/libvirt Available versions: 9.3.0(0/9.3.0)^t ~9.4.0-r3(0/9.4.0)^t ~9.5.0(0/9.5.0)^t **9999(0/9999)*l^t {apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs iscsi iscsi-direct libssh libssh2 +libvirtd lvm lxc nfs nls numa openvz parted pcap policykit +qemu rbd sasl selinux test +udev verify-sig +virt-network virtualbox wireshark-plugins xen zfs} Installed versions: 9.3.0(0/9.3.0)^t(09:29:01 PM 06/09/2023)(caps libvirtd nls policykit qemu udev virt-network -apparmor -audit -bash-completion -dtrace -firewalld -fuse -glusterfs -iscsi -iscsi-direct -libssh -libssh2 -lvm -lxc -nfs -numa -openvz -parted -pcap -rbd -sasl -selinux -test -verify-sig -virtualbox -wireshark-plugins -xen -zfs) Homepage: https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/ Description: C toolkit to manipulate virtual machines ```
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0a38ac0e9f9f4f6b7c0f8fbca13b6ae9256ad6ed commit 0a38ac0e9f9f4f6b7c0f8fbca13b6ae9256ad6ed Author: Michal Privoznik <michal.privoznik@gmail.com> AuthorDate: 2023-07-27 10:08:48 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-27 12:00:29 +0000 app-emulation/virtiofsd: Move virtiofsd binary into /usr/libexec In one of my recent commits I've introduced JSON descriptor file that libvirt uses when learning about helper binaries (40-qemu-virtiofsd.json). What I did not realize is that the file tells libvirt to execute /usr/libexec/virtiofsd while our ebuilds install the binary under /usr/bin/. I haven't found a way to tell cargo_src_install where to install the binary so we have to move it 'manually'. Bug: https://bugs.gentoo.org/909372 Closes: https://bugs.gentoo.org/911274 Signed-off-by: Michal Privoznik <michal.privoznik@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/32062 Signed-off-by: Sam James <sam@gentoo.org> .../virtiofsd/{virtiofsd-1.5.1-r1.ebuild => virtiofsd-1.5.1-r2.ebuild} | 3 +++ .../virtiofsd/{virtiofsd-1.6.1.ebuild => virtiofsd-1.6.1-r1.ebuild} | 3 +++ app-emulation/virtiofsd/virtiofsd-9999.ebuild | 3 +++ 3 files changed, 9 insertions(+)
Thanks!