summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2018-10-25 14:40:24 -0700
committerDamjan Marion <dmarion@me.com>2018-10-26 23:57:06 +0000
commit5e48bbae26f92fc430d874026d33fca7b371c099 (patch)
tree995142a4925125074d0686025ccc1300f0cfd05c
parent557400d778d2fd87e14f3a93f3501f127953c65c (diff)
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 <stephen@networkplumber.org>
-rw-r--r--build/external/patches/dpdk_18.08/0005-mlx5-use-pkg-config-SUSE-libmnl.patch39
1 files changed, 39 insertions, 0 deletions
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 <stephen@networkplumber.org>
+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 <stephen@networkplumber.org>
+---
+ 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