From: Markos Chandras <mchand...@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 <mchand...@suse.de> Acked-by: Remy Horton <remy.hor...@intel.com> Acked-by: Timothy Redaelli <tredae...@redhat.com> Signed-off-by: Thomas Monjalon <tho...@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