From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id B11523F9 for ; Tue, 16 Dec 2014 22:42:22 +0100 (CET) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Y0zso-0003ET-Rp; Tue, 16 Dec 2014 16:42:21 -0500 Date: Tue, 16 Dec 2014 16:42:13 -0500 From: Neil Horman To: Thomas Monjalon Message-ID: <20141216214213.GF13806@hmsreliant.think-freely.org> References: <2438199.ui6ep4sFDa@xps13> <1418684684-23642-1-git-send-email-thomas.monjalon@6wind.com> <20141216135822.GC13806@hmsreliant.think-freely.org> <78819532.f064i2G3g0@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <78819532.f064i2G3g0@xps13> User-Agent: Mutt/1.5.23 (2014-03-12) X-Spam-Score: -2.9 (--) X-Spam-Status: No Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2] mk: fix build with shared pcap pmd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 21:42:23 -0000 On Tue, Dec 16, 2014 at 03:39:56PM +0100, Thomas Monjalon wrote: > 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 > > > Signed-off-by: Thomas Monjalon > [...] > > > --- 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 > ACK, I'm fine with your patch currently. I'll revisit this after 1.8 is released Neil