[dpdk-dev] [PATCH v2] mk: fix build with shared pcap pmd

Thomas Monjalon thomas.monjalon at 6wind.com
Tue Dec 16 15:39:56 CET 2014


2014-12-16 08:58, Neil Horman:
> On Tue, Dec 16, 2014 at 12:04:44AM +0100, Thomas Monjalon wrote:
> > Some applications doesn't have the pcap link flag
> > when shared libraries are enabled.
> > Indeed in such case, pcap PMD must not be linked but pcap library should.
> > 
> > Actually -lpcap is always needed if pcap PMD is used,
> > and -lrte_pmd_pcap must be set only with static PMD library.
> > So the flags -lrte_pmd_pcap and -lpcap are enabled separately.
> > 
> > Workarounds in test-pmd/ and test-pipeline/ can be removed.
> > 
> > Reported-by: Stepan Sojka <stepan.sojka at adaptivemobile.com>
> > Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
[...]
> > --- a/mk/rte.app.mk
> > +++ b/mk/rte.app.mk
> > @@ -119,6 +119,10 @@ LDLIBS += -lm
> >  LDLIBS += -lrt
> >  endif
> >  
> > +ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > +LDLIBS += -lpcap
> > +endif
> > +
> >  LDLIBS += --start-group
> >  
> >  ifeq ($(CONFIG_RTE_LIBRTE_KVARGS),y)
> > @@ -207,7 +211,7 @@ LDLIBS += -lrte_pmd_ring
> >  endif
> >  
> >  ifeq ($(CONFIG_RTE_LIBRTE_PMD_PCAP),y)
> > -LDLIBS += -lrte_pmd_pcap -lpcap
> > +LDLIBS += -lrte_pmd_pcap
> >  endif
> >  
> >  ifeq ($(CONFIG_RTE_LIBRTE_PMD_AF_PACKET),y)
> 
> Actually, what if we just add $(LDFLAGS) to the O_TO_S rule in mk/rte.lib.mk?
> Then in lib/librte_pmd_pcap/Makefile, we can just add LDFLAGS+=-lpcap, and the
> loading of the pcap pmd will itself require the loading of libpcap.  That would
> be a nice clean implementation that allows applications to just link the pmd and
> not have to worry about dependencies.  It would also allow us to clean up other
> dependencies like the xenvirt pmd and vhost.

Yes it makes sense. Could you test it please?
What about applying my patch (which keep the existing logic) as a first
fix/clean-up and then move -lpcap in PMD as a second step?
Proceeding this way would allow to integrate a safe fix for 1.8.0.
Maybe that linking pcap in the PMD could unveil new bugs with some distributions,
so it would need some time to validate it.

-- 
Thomas


More information about the dev mailing list