From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jerin Jacob Subject: Re: [PATCH] app/testpmd: fix static build link ordering Date: Fri, 13 Jan 2017 08:51:56 +0530 Message-ID: <20170113032155.GA31838@localhost.localdomain> References: <1484207214-13638-1-git-send-email-jerin.jacob@caviumnetworks.com> <1733289.GsZYjJJTCP@xps13> <20170112135830.GA11208@localhost.localdomain> <6167bd74-c515-fc12-744d-9168a633c646@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: Thomas Monjalon , , To: Ferruh Yigit Return-path: Content-Disposition: inline In-Reply-To: <6167bd74-c515-fc12-744d-9168a633c646@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jan 12, 2017 at 03:27:30PM +0000, Ferruh Yigit wrote: > On 1/12/2017 1:58 PM, Jerin Jacob wrote: > > On Thu, Jan 12, 2017 at 10:26:08AM +0100, Thomas Monjalon wrote: > >> 2017-01-12 13:16, Jerin Jacob: > >>> +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) > >>> _LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe > >>> +endif > >> > >> _LDLIBS is an internal variable of rte.app.mk. > >> Please could you check that there is no issue when using LDLIBS instead > >> of _LDLIBS? > > > > Tested it. Suggested change has issue in shared lib configuration. > > > > [dpdk-master] $ git diff > > diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile > > index 050663a..27cadd5 100644 > > --- a/app/test-pmd/Makefile > > +++ b/app/test-pmd/Makefile > > @@ -59,9 +59,7 @@ SRCS-y += csumonly.c > > SRCS-y += icmpecho.c > > SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c > > > > -ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) > > -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe > > -endif > > +LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe > > It is LDLIBS instead of LDLIBS-y, following may work: LDLIBS is not helping the situation as LDLIBS comes before the _LDLIBS-y mk/rte.app.mk:LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS) But moving to EXTRA_LDLIBS looks OK.But it has to be under CONFIG_RTE_LIBRTE_IXGBE_PMD Thomas, Ferruh Let me know if you have any objection on below mentioned diff [master] $ git diff app/test-pmd/Makefile diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 050663a..2be8c50 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -59,8 +59,8 @@ SRCS-y += csumonly.c SRCS-y += icmpecho.c SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c -ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe +ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y) +EXTRA_LDLIBS += -lrte_pmd_ixgbe endif CFLAGS_cmdline.o := -D_GNU_SOURCE > > -_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += -lrte_pmd_ixgbe > +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y) > +ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y) > +LDLIBS += -lrte_pmd_ixgbe > +endif > +endif > > > Also using EXTRA_LDLIBS instead of LDLIBS may remove the requirement of > the SHARED_LIB check, because of where it is located, but this seems > just coincidental. > > >