]> www.infradead.org Git - users/dwmw2/qemu.git/commit
net: fix build when libbpf is disabled, but libxdp is enabled
authorDaniel P. Berrangé <berrange@redhat.com>
Wed, 23 Oct 2024 08:50:56 +0000 (09:50 +0100)
committerJason Wang <jasowang@redhat.com>
Mon, 28 Oct 2024 06:37:25 +0000 (14:37 +0800)
commit1f37280b37dbf85f36748f359a9f8802c8fe7ccd
tree94a4191340a7bb7a6134e6ba909121e0a0920e98
parentcea8ac78545a83e1f01c94d89d6f5a3f6b5c05d2
net: fix build when libbpf is disabled, but libxdp is enabled

The net/af-xdp.c code is enabled when the libxdp library is present,
however, it also has direct API calls to bpf_xdp_query_id &
bpf_xdp_detach which are provided by the libbpf library.

As a result if building with --disable-libbpf, but libxdp gets
auto-detected, we'll fail to link QEMU

  /usr/bin/ld: libcommon.a.p/net_af-xdp.c.o: undefined reference to symbol 'bpf_xdp_query_id@@LIBBPF_0.7.0'

There are two bugs here

 * Since we have direct libbpf API calls, when building
   net/af-xdp.c, we must tell meson that libbpf is a
   dependancy, so that we directly link to it, rather
   than relying on indirect linkage.

 * When must skip probing for libxdp at all, when libbpf
   is not found, raising an error if --enable-libxdp was
   given explicitly.

Fixes: cb039ef3d9e3112da01e1ecd9b136ac9809ef733
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
meson.build
net/meson.build