On 3/10/25 5:02 AM, Daniel P. Berrangé wrote:
On Sat, Mar 08, 2025 at 05:02:32PM +0900, Akihiko Odaki wrote:
Builds for Linux without libnl is broken since commit
582f0966f9b9e2148d8887d072364e2a91aed000 so make libnl mandatory for
Linux.
Another option is to fix such builds, but it can bring more problems
than benefits. libnl is available on all supported distributions so the
only practical situation to lack libnl is that a developer does not have
a development package of libnl installed. Enabling builds in such a
situation make developers use builds divergent from CI and end-user
scenarios, which has some implications.
Builds without libnl lack several features such as SR-IOV,
bridge/tap, switchdev, macvlan, veth, and vlan. Some part of libvirt
may expect these features are readily available on Linux, and the lack
of libnl may cause a build failure like one mentioned earlier or runtime
errors even harder to debug.
Those features are only relevant if doing a daemon build for certain
virt drivers. For a client only build, or certain virt drivers, it is
valid to omit libnl while building on Linux, so we should not make
this mandatory.
Ah, right. I hadn't though of client-only builds the other day when I
agreed with the suggestion to make it mandatory. Seems like it would be
uncommon for someone to do a Linux build for just client, but I suppose
if we can allow for it we may as well.
In that case, I guess the comments in my first reply to the "util: Check
libnl function availability" patch apply.