From 5e48bbae26f92fc430d874026d33fca7b371c099 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Thu, 25 Oct 2018 14:40:24 -0700 Subject: [PATCH] dpdk: fix mlx5 build on SUSE Current mlx5 requires libmnl, and SUSE has a bug which installs the header file in incorrect location. Workaround (from upstream) is to use pkg-config. Change-Id: Iadfd2dc0df211876258c31da028af2e8934483b3 Signed-off-by: Stephen Hemminger --- .../0005-mlx5-use-pkg-config-SUSE-libmnl.patch | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 build/external/patches/dpdk_18.08/0005-mlx5-use-pkg-config-SUSE-libmnl.patch diff --git a/build/external/patches/dpdk_18.08/0005-mlx5-use-pkg-config-SUSE-libmnl.patch b/build/external/patches/dpdk_18.08/0005-mlx5-use-pkg-config-SUSE-libmnl.patch new file mode 100644 index 00000000000..454a85e83d1 --- /dev/null +++ b/build/external/patches/dpdk_18.08/0005-mlx5-use-pkg-config-SUSE-libmnl.patch @@ -0,0 +1,39 @@ +From c030dc71ff4069c5b5e5b7889a2926617075f6e3 Mon Sep 17 00:00:00 2001 +From: Stephen Hemminger +Date: Thu, 25 Oct 2018 10:33:01 -0700 +Subject: [PATCH] mlx5: use pkg-config to handle SUSE libmnl + +SUSE decided to install the libmnl include file in a non-standard +place: /usr/include/libmnl/libmnl/libmnl.h + +This was probably a mistake by the SUSE package maintainer, +but hard to get fixed. Workaround the problem by pkg-config to find +the necessary include directive for libmnl. + +Fixes: 20b71e92ef8e ("net/mlx5: lay groundwork for switch offloads") +Signed-off-by: Stephen Hemminger +--- + drivers/net/mlx5/Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile +index 1e9c0b42ac16..8497c98ef86e 100644 +--- a/drivers/net/mlx5/Makefile ++++ b/drivers/net/mlx5/Makefile +@@ -51,6 +51,7 @@ CFLAGS += -D_DEFAULT_SOURCE + CFLAGS += -D_XOPEN_SOURCE=600 + CFLAGS += $(WERROR_FLAGS) + CFLAGS += -Wno-strict-prototypes ++CFLAGS += $(shell pkg-config --cflags libmnl) + ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DLOPEN_DEPS),y) + CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"' + CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"' +@@ -57,7 +58,7 @@ LDLIBS += -ldl + else + LDLIBS += -libverbs -lmlx5 + endif +-LDLIBS += -lmnl ++LDLIBS += $(shell pkg-config --libs libmnl) + LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring + LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs + LDLIBS += -lrte_bus_pci -- 2.16.6