FS#67571 - [libvirt][libslirp] cannot execute binary /usr/bin/slirp-helper: No such file or directory

Attached to Project: Community Packages
Opened by nl6720 (nl6720) - Thursday, 13 August 2020, 08:49 GMT
Last edited by Toolybird (Toolybird) - Monday, 03 October 2022, 22:03 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Robin Broda (coderobe)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
After staring a VM in virt-manager using a "QEMU/KVM user session", libvirt prints an error to journal:

libvirtd[4727]: internal error: Child process (/usr/bin/slirp-helper --print-capabilities) unexpected exit status 127: libvirt: error : cannot execute binary /usr/bin/slirp-helper: No such file or directory

/usr/bin/slirp-helper doesn't exist in any package.

Nothing seems to be affected by this error, everything works as it should.

Additional info:
* package version(s)
* config and/or log files etc.
* link to upstream bug report, if any
virt-manager 2.2.1-2
libvirt 6.5.0-1
libslirp 4.3.1-1


Steps to reproduce:
Start a VM with libvirt.
Observe the journal.
This task depends upon

Closed by  Toolybird (Toolybird)
Monday, 03 October 2022, 22:03 GMT
Reason for closing:  Fixed
Additional comments about closing:  Seems this became a non-issue a while back.
Comment by freswa (frederik) - Thursday, 13 August 2020, 11:48 GMT Comment by loqs (loqs) - Friday, 14 August 2020, 23:08 GMT
@nl6720 please see attached PKGBUILD. Does the slirp-helper it provides work?
Perhaps the pkgname should be libslirp-rs.
   PKGBUILD (0.7 KiB)
Comment by nl6720 (nl6720) - Saturday, 15 August 2020, 04:26 GMT
Thanks, loqs! With the libslirp-rs package, the error is gone.
There are some warnings now, though.

libvirtd[107450]: unknown slirp feature dhcp
libvirtd[107450]: unknown slirp feature netns
libvirtd[107450]: unknown slirp feature notify-socket

The output of
slirp-helper --print-capabilities
is:

{
"type": "slirp-helper",
"features": [
"dbus-address",
"dhcp",
"exit-with-parent",
"migrate",
"tftp",
"ipv4",
"ipv6",
"netns",
"notify-socket",
"restrict"
]
}
Comment by Emil (xexaxo) - Saturday, 01 October 2022, 13:50 GMT
Humble ping?

Seems like the dependency was added with 6.8.0-2 [1] and the next day the whole libvirt package was reverted to v6.5.0 [2]. Later on libvirt was updated, but the dependency was never re-introduced and rust-libslirp package was ultimately dropped from the repos.

Note: the latest rust-libslirp v4.3.0 fails to build - there is an upstream fix [3] for that.

Edit: as of libvirt v.6.9.0 [4] rust-libslirp is not mandatory but an optional dependency.

[1] https://github.com/archlinux/svntogit-community/commit/f6d2882d730ba81da366a5eebc88b7d26d6054c9
[2] https://github.com/archlinux/svntogit-community/commit/945443efb0acbf0f8b6ab0431d2df42af64e7363
[3] https://gitlab.freedesktop.org/slirp/libslirp-rs/-/commit/f022abf667f3f659a0749999b9d9febc725d367f
[4] https://github.com/libvirt/libvirt/commit/99a1cfc43889c6d425a64013a12b234dde8cff1e
Comment by nl6720 (nl6720) - Saturday, 01 October 2022, 13:54 GMT
I haven't had this or any other libvirtd error for quite a while now, so it's not an issue for me anymore.
Comment by Emil (xexaxo) - Monday, 03 October 2022, 22:02 GMT
  • Field changed: Percent Complete (100% → 0%)
Upstream libvirt can still use slirp-helper, although it's an optional component - see
https://github.com/libvirt/libvirt/blob/6457619d186ed327bd8a045857a829c13cebf4dd/src/qemu/qemu_interface.c#L668
Comment by Toolybird (Toolybird) - Monday, 03 October 2022, 22:02 GMT
> Upstream libvirt can still use slirp-helper

Yes of course. libvirt will use it if found at run time.. If not, it falls back to internal impl. In other words, if you want libvirt to use it just ensure `/usr/bin/slirp-helper' exists and you're golden. The path is also configurable in qemu.conf

If you're requesting "libslirp-rs" to be packaged then this is not the place to do it.

Loading...