From 3a060b6cd5feec38a9c2c42f8db81f5accd9849f Mon Sep 17 00:00:00 2001 From: Michal Berger Date: Fri, 7 Apr 2023 03:15:43 +0200 Subject: [PATCH] lib/env_dpdk: Make sure linker finds $DPDK_LIB_DIR In case SPDK is build with shared libraries and there's no LD_LIBRARY_PATH around, linker will complain about missing .sos similar to: /usr/bin/ld.bfd: warning: librte_meter.so.23, needed by /root/spdk/dpdk/build/lib/librte_ethdev.so, not found (try using -rpath or -rpath-link) We can't see that under CI since autotest_common.sh always makes sure the LD_LIBRARY_PATH is properly set. Add the -rpath to make the build less spammy. Change-Id: I1d9d1775b2aa24e65cc4b776c2549457b0d7aac3 Signed-off-by: Michal Berger Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17492 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris Reviewed-by: Ben Walker --- lib/env_dpdk/env.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/env_dpdk/env.mk b/lib/env_dpdk/env.mk index 08f313271..d4fa958da 100644 --- a/lib/env_dpdk/env.mk +++ b/lib/env_dpdk/env.mk @@ -123,7 +123,7 @@ DPDK_LIB_LIST_SORTED = $(sort $(DPDK_LIB_LIST)) DPDK_SHARED_LIB = $(DPDK_LIB_LIST_SORTED:%=$(DPDK_LIB_DIR)/lib%.so) DPDK_STATIC_LIB = $(DPDK_LIB_LIST_SORTED:%=$(DPDK_LIB_DIR)/lib%.a) -DPDK_SHARED_LIB_LINKER_ARGS = $(call add_no_as_needed,$(DPDK_SHARED_LIB)) +DPDK_SHARED_LIB_LINKER_ARGS = $(call add_no_as_needed,$(DPDK_SHARED_LIB)) -Wl,-rpath=$(DPDK_LIB_DIR) DPDK_STATIC_LIB_LINKER_ARGS = $(call add_whole_archive,$(DPDK_STATIC_LIB)) ENV_CFLAGS = $(DPDK_INC) -DALLOW_EXPERIMENTAL_API