Thread (12 messages) 12 messages, 3 authors, 2017-01-31

Re: [PATCH] app/testpmd: fix static build link ordering

From: Ferruh Yigit <hidden>
Date: 2017-01-31 10:58:12

On 1/13/2017 4:12 PM, Ferruh Yigit wrote:
On 1/13/2017 4:01 PM, Jerin Jacob wrote:
quoted
On Fri, Jan 13, 2017 at 03:57:59PM +0000, Ferruh Yigit wrote:
quoted
On 1/13/2017 3:53 PM, Thomas Monjalon wrote:
quoted
2017-01-13 08:51, Jerin Jacob:
quoted
On Thu, Jan 12, 2017 at 03:27:30PM +0000, Ferruh Yigit wrote:
quoted
On 1/12/2017 1:58 PM, Jerin Jacob wrote:
quoted
On Thu, Jan 12, 2017 at 10:26:08AM +0100, Thomas Monjalon wrote:
quoted
2017-01-12 13:16, Jerin Jacob:
quoted
+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?
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

-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
You need to keep the shared lib check.
Anyway, EXTRA_LDLIBS should be reserved to users and not used in a Makefile.
I prefer your initial patch using _LDLIBS.

Any objection to merge initial proposal?
LDLIBS should be OK, as long as wrapped with SHARED check. Is following
not working:
No, due to the following line
mk/rte.app.mk:LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS)

Again -lrte_pmd_ixgbe comes first.
You are right.
After second thought.
-lrte_pmd_ixgbe coming first is problem for static compilation, but
these libraries used only for dynamic compilation. And locations
shouldn't matter with dynamic compilation.

Can you please try converting to the following, that should work:

+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
+LDLIBS += -lrte_pmd_ixgbe
+endif
+endif

I will send a patch for this.
No objection to initial proposal.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help