net/af_xdp: add libelf for pmd_af_xdp.
Checks
Commit Message
The libbpf requires linking elf library. Fix it by
adding -lelf.
Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
Signed-off-by: William Tu <u9012063@gmail.com>
---
mk/rte.app.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Wed, 2019-05-15 at 13:24 -0700, William Tu wrote:
> The libbpf requires linking elf library. Fix it by
> adding -lelf.
>
> Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
> Signed-off-by: William Tu <
> u9012063@gmail.com
> >
> ---
> mk/rte.app.mk | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index 7c9b4b538e52..e5d15218618a 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -145,7 +145,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) +=
> -lrte_mempool_dpaa2
> endif
>
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp
> -lbpf
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp
> -lbpf -lelf
> _LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark
> _LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += -lrte_pmd_atlantic
> _LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += -lrte_pmd_avp
Hi,
This was already discussed, and libbpf needs to link with libelf itself
as it's an internal dependency. It was already fixed in the kernel tree
some time ago, so it should be correct with a recent version. If you
are using an old version you can either update or fix it in your
application. So I don't think we should carry this work-around
ourselves in DPDK, as we'll end up overlinking when using fixed libbpf
versions.
On Thu, May 16, 2019 at 1:59 AM Luca Boccassi <bluca@debian.org> wrote:
>
> On Wed, 2019-05-15 at 13:24 -0700, William Tu wrote:
> > The libbpf requires linking elf library. Fix it by
> > adding -lelf.
> >
> > Fixes: f1debd77efaf ("net/af_xdp: introduce AF_XDP PMD")
> > Signed-off-by: William Tu <
> > u9012063@gmail.com
> > >
> > ---
> > mk/rte.app.mk | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> > index 7c9b4b538e52..e5d15218618a 100644
> > --- a/mk/rte.app.mk
> > +++ b/mk/rte.app.mk
> > @@ -145,7 +145,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) +=
> > -lrte_mempool_dpaa2
> > endif
> >
> > _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
> > -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp
> > -lbpf
> > +_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp
> > -lbpf -lelf
> > _LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark
> > _LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += -lrte_pmd_atlantic
> > _LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += -lrte_pmd_avp
>
> Hi,
>
> This was already discussed, and libbpf needs to link with libelf itself
> as it's an internal dependency. It was already fixed in the kernel tree
> some time ago, so it should be correct with a recent version. If you
> are using an old version you can either update or fix it in your
> application. So I don't think we should carry this work-around
> ourselves in DPDK, as we'll end up overlinking when using fixed libbpf
> versions.
OK. Thank you!
@@ -145,7 +145,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2
endif
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp -lbpf
+_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += -lrte_pmd_af_xdp -lbpf -lelf
_LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark
_LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += -lrte_pmd_atlantic
_LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += -lrte_pmd_avp