[dpdk-dev] [PATCH v2] examples/ethtool: fix link with ixgbe shared lib

Thomas Monjalon thomas at monjalon.net
Mon May 1 22:10:32 CEST 2017


From: Markos Chandras <mchandras at suse.de>

When RTE_DEVEL_BUILD is unset, -rpath is unset.
So the ethtool app cannot link with ixgbe shared library
which is required by ethtool lib:

warning: librte_pmd_ixgbe.so.1, needed by
examples/ethtool/lib/x86_64-native-linuxapp-gcc/lib/librte_ethtool.so,
not found (try using -rpath or -rpath-link)

It is fixed by adding the library in the application link.

The library link is also improved to specify that this explicit link
to ixgbe is needed only in the shared lib mode.

Fixes: 077d223e25c3 ("examples/ethtool: use ixgbe public function")

Signed-off-by: Markos Chandras <mchandras at suse.de>
Acked-by: Remy Horton <remy.horton at intel.com>
Acked-by: Timothy Redaelli <tredaelli at redhat.com>
Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
---
v2: add condition on CONFIG_RTE_BUILD_SHARED_LIB
---
 examples/ethtool/ethtool-app/Makefile | 5 +++++
 examples/ethtool/lib/Makefile         | 2 ++
 2 files changed, 7 insertions(+)

diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile
index 09c66ad19..96abf53b2 100644
--- a/examples/ethtool/ethtool-app/Makefile
+++ b/examples/ethtool/ethtool-app/Makefile
@@ -50,5 +50,10 @@ CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib
 LDLIBS += -lrte_ethtool
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
+LDLIBS += -lrte_pmd_ixgbe
+endif
+endif
 
 include $(RTE_SDK)/mk/rte.extapp.mk
diff --git a/examples/ethtool/lib/Makefile b/examples/ethtool/lib/Makefile
index 197c1d6f5..266babade 100644
--- a/examples/ethtool/lib/Makefile
+++ b/examples/ethtool/lib/Makefile
@@ -54,8 +54,10 @@ SRCS-y := rte_ethtool.c
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
 ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
 LDLIBS += -lrte_pmd_ixgbe
 endif
+endif
 
 include $(RTE_SDK)/mk/rte.extlib.mk
-- 
2.12.2



More information about the dev mailing list