14/04/2021 23:02, Dmitry Kozlyuk: > 2021-04-14 11:41 (UTC+0200), Thomas Monjalon: > > 09/04/2021 14:25, Thomas Monjalon: > > > From: Gabriel Ganne <gabriel.ga...@6wind.com> > > > > > > The pcap PMD and the librte_port both declare their dependency to libpcap > > > with a line "ext_deps += pcap_dep". > > > Then meson automatically adds this dependency to the pkg-config file > > > in the "Requires.private" section for static builds. > > > > > > The additional update of dpdk_extra_ldflags was adding the dependency > > > in the "Libs.private" section of the pkg-config, that is unnecessary. > > > > > > Fixes: efd5d1a8d8dd ("drivers/net: build some vdev PMDs with meson") > > > Fixes: 268fa581b1ff ("port: fix pcap support with meson") > > > Cc: sta...@dpdk.org > > > > > > Signed-off-by: Gabriel Ganne <gabriel.ga...@6wind.com> > > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > > > --- > > > I have a doubt whether this option is really always useless. > > > In the case of an old pcap (<1.9) without pkg-config support, > > > and with the minimum meson supported (0.47.1), > > > are we sure the generated pkg-config file will include -lpcap? > > > > Any volunteer to test please? > > Ubuntu 16.04, Meson 0.47.1, libpcap 1.7.4-2ubuntu0.1, after the patch > libdpdk.pc contains: > > Libs.private: -lpcap -lpcap -lpcap -lpcap -lpcap -lpcap -lpcap -lpcap > -lpcap -lpcap [...DPDK libraries...] > > Note that -lpcap comes _before_ DPDK libraries that require it. > As a consequence, this doesn't link with unresolved libpcap symbols: > > gcc test.c `pkg-config --static --cflags --libs libdpdk` > > Before the patch -lpcap was _after_ DPDK libraries, > link succeeded (there was also _one_ -lpcap before DPDK libraries). > > Meson 0.55.1 places -lpcap _after_ DPDK libraries, > link succeeds both before and after the patch. > > Conclusion: this patch really breaks .pc file for older meson.
Thanks for the test. I propose to defer this patch. It could be merged when we upgrade meson requirement. In the meantime, we could document why this line is required. > If it can't be merged, dependent patches for net/pcap on Windows > can be easily adjusted to work without it.