DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 1/2] mk: add LDLIBS variable when producing the .so file
@ 2015-07-29 13:56 Nelio Laranjeiro
  2015-07-29 13:56 ` [dpdk-dev] [PATCH 2/2] mlx4: add missing library dependency when compiling in shared library Nelio Laranjeiro
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-29 13:56 UTC (permalink / raw)
  To: dev

Some .so libraries needs to be linked with external libraries.  For that the
LDLIBS variable should be present on the link line when those .so files are
created.  PMD Makefile is responsible for filling the LDLIBS variable with
the link to the external library it needs.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 mk/rte.lib.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 9ff5cce..3a07603 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -81,7 +81,8 @@ O_TO_A_DO = @set -e; \
 	$(O_TO_A) && \
 	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
 
-O_TO_S = $(LD) $(_CPU_LDFLAGS) -shared $(OBJS-y) -Wl,-soname,$(LIB) -o $(LIB)
+O_TO_S = $(LD) $(_CPU_LDFLAGS) $(LDLIBS) -shared $(OBJS-y) \
+	 -Wl,-soname,$(LIB) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PATCH 2/2] mlx4: add missing library dependency when compiling in shared library
  2015-07-29 13:56 [dpdk-dev] [PATCH 1/2] mk: add LDLIBS variable when producing the .so file Nelio Laranjeiro
@ 2015-07-29 13:56 ` Nelio Laranjeiro
  2015-07-30 14:48 ` [dpdk-dev] [PACTH v2 1/2] mk: use LDLIBS variable when building the shared object file Nelio Laranjeiro
  2015-07-31 13:14 ` [dpdk-dev] [PACTH v3 1/2] mk: use LDLIBS and EXTRA_LDFLAGS variable when building the shared object file Nelio Laranjeiro
  2 siblings, 0 replies; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-29 13:56 UTC (permalink / raw)
  To: dev

librte_pmd_mlx4.so needs to be linked with libiverbs otherwise, the PMD is not
able to open Mellanox devices and the following message is printed by testpmd
at startup "librte_pmd_mlx4: cannot access device, is mlx4_ib loaded?".

Applications dependency on libverbs are moved to be only valid in static mode,
in shared mode, applications do not depend on it anymore,
librte_pmd_mlx4.so keeps this dependency and thus is linked with libverbs.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
 drivers/net/mlx4/Makefile | 1 +
 mk/rte.app.mk             | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 14cb53f..d2f5692 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -50,6 +50,7 @@ CFLAGS += -g
 CFLAGS += -I.
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
+LDLIBS += -libverbs
 
 # A few warnings cannot be avoided in external headers.
 CFLAGS += -Wno-error=cast-qual
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 97719cb..04af756 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -100,7 +100,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n)
 _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lfuse
 endif
 
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lz
 
 _LDLIBS-y += --start-group
@@ -140,6 +139,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
+_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs
 
 endif # ! $(CONFIG_RTE_BUILD_SHARED_LIB)
 
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PACTH v2 1/2] mk: use LDLIBS variable when building the shared object file
  2015-07-29 13:56 [dpdk-dev] [PATCH 1/2] mk: add LDLIBS variable when producing the .so file Nelio Laranjeiro
  2015-07-29 13:56 ` [dpdk-dev] [PATCH 2/2] mlx4: add missing library dependency when compiling in shared library Nelio Laranjeiro
@ 2015-07-30 14:48 ` Nelio Laranjeiro
  2015-07-30 14:48   ` [dpdk-dev] [PACTH v2 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
  2015-07-31 13:14 ` [dpdk-dev] [PACTH v3 1/2] mk: use LDLIBS and EXTRA_LDFLAGS variable when building the shared object file Nelio Laranjeiro
  2 siblings, 1 reply; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-30 14:48 UTC (permalink / raw)
  To: dev

Some .so libraries needs to be linked with external libraries.  For that the
LDLIBS variable should be present on the link line when those .so files are
created.  PMD Makefile is responsible for filling the LDLIBS variable with
the link to the external library it needs.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
Changelog: add missing EXTRA_LDFLAGS variable necessary to link with an
external library when it is not installed on the system or located somewhere
else.

 mk/rte.lib.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 9ff5cce..fcc8e20 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -81,7 +81,8 @@ O_TO_A_DO = @set -e; \
 	$(O_TO_A) && \
 	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
 
-O_TO_S = $(LD) $(_CPU_LDFLAGS) -shared $(OBJS-y) -Wl,-soname,$(LIB) -o $(LIB)
+O_TO_S = $(LD) $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) $(LDLIBS) -shared $(OBJS-y) \
+	 -Wl,-soname,$(LIB) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PACTH v2 2/2] mlx4: fix shared library dependency
  2015-07-30 14:48 ` [dpdk-dev] [PACTH v2 1/2] mk: use LDLIBS variable when building the shared object file Nelio Laranjeiro
@ 2015-07-30 14:48   ` Nelio Laranjeiro
  2015-07-30 16:22     ` Thomas Monjalon
  0 siblings, 1 reply; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-30 14:48 UTC (permalink / raw)
  To: dev

librte_pmd_mlx4.so needs to be linked with libiverbs otherwise, the PMD is not
able to open Mellanox devices and the following message is printed by testpmd
at startup "librte_pmd_mlx4: cannot access device, is mlx4_ib loaded?".

Applications dependency on libverbs are moved to be only valid in static mode,
in shared mode, applications do not depend on it anymore,
librte_pmd_mlx4.so keeps this dependency and thus is linked with libverbs.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
Changelog: don't compiled MLX4 PMD when the DPDK is build in combined shared
library.


 doc/guides/nics/mlx4.rst  | 5 +++++
 drivers/net/Makefile      | 6 +++++-
 drivers/net/mlx4/Makefile | 1 +
 mk/rte.app.mk             | 2 +-
 4 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index c33aa38..840cb65 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -47,6 +47,11 @@ There is also a `section dedicated to this poll mode driver
    be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX4_PMD=y`` and
    recompiling DPDK.
 
+.. warning::
+
+   ``CONFIG_RTE_BUILD_COMBINE_LIBS`` is not supported (if set, it will not
+   compile this PMD even if ``CONFIG_RTE_LIBRTE_MLX4_PMD`` is set).
+
 Implementation details
 ----------------------
 
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 5ebf963..1725c94 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -40,7 +40,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
 DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
 DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
 DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
-DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
 DIRS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += mpipe
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
@@ -49,5 +48,10 @@ DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
 DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt
 
+# Drivers not support in combined mode
+ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)
+DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
+endif
+
 include $(RTE_SDK)/mk/rte.sharelib.mk
 include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 14cb53f..d2f5692 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -50,6 +50,7 @@ CFLAGS += -g
 CFLAGS += -I.
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
+LDLIBS += -libverbs
 
 # A few warnings cannot be avoided in external headers.
 CFLAGS += -Wno-error=cast-qual
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 97719cb..04af756 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -100,7 +100,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n)
 _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lfuse
 endif
 
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lz
 
 _LDLIBS-y += --start-group
@@ -140,6 +139,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
+_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs
 
 endif # ! $(CONFIG_RTE_BUILD_SHARED_LIB)
 
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PACTH v2 2/2] mlx4: fix shared library dependency
  2015-07-30 14:48   ` [dpdk-dev] [PACTH v2 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
@ 2015-07-30 16:22     ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2015-07-30 16:22 UTC (permalink / raw)
  To: Nelio Laranjeiro; +Cc: dev

2015-07-30 16:48, Nelio Laranjeiro:
> librte_pmd_mlx4.so needs to be linked with libiverbs otherwise, the PMD is not
> able to open Mellanox devices and the following message is printed by testpmd
> at startup "librte_pmd_mlx4: cannot access device, is mlx4_ib loaded?".
> 
> Applications dependency on libverbs are moved to be only valid in static mode,
> in shared mode, applications do not depend on it anymore,
> librte_pmd_mlx4.so keeps this dependency and thus is linked with libverbs.
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>
> ---
> Changelog: don't compiled MLX4 PMD when the DPDK is build in combined shared
> library.

MLX4 cannot be supported in combined shared library because there is no clean
way of adding -libverbs to the combined library.
(This comment should be in the commit message)

> --- a/drivers/net/Makefile
> +++ b/drivers/net/Makefile
> @@ -40,7 +40,6 @@ DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
>  DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
>  DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
>  DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
> -DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
>  DIRS-$(CONFIG_RTE_LIBRTE_MPIPE_PMD) += mpipe
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
> @@ -49,5 +48,10 @@ DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
>  DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
>  DIRS-$(CONFIG_RTE_LIBRTE_PMD_XENVIRT) += xenvirt
>  
> +# Drivers not support in combined mode

This comment is useless.

> +ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS),n)

It can be enabled if building a static combined library.

> +DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4

There is no good reason to move this line.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PACTH v3 1/2] mk: use LDLIBS and EXTRA_LDFLAGS variable when building the shared object file
  2015-07-29 13:56 [dpdk-dev] [PATCH 1/2] mk: add LDLIBS variable when producing the .so file Nelio Laranjeiro
  2015-07-29 13:56 ` [dpdk-dev] [PATCH 2/2] mlx4: add missing library dependency when compiling in shared library Nelio Laranjeiro
  2015-07-30 14:48 ` [dpdk-dev] [PACTH v2 1/2] mk: use LDLIBS variable when building the shared object file Nelio Laranjeiro
@ 2015-07-31 13:14 ` Nelio Laranjeiro
  2015-07-31 13:14   ` [dpdk-dev] [PACTH v3 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
  2 siblings, 1 reply; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-31 13:14 UTC (permalink / raw)
  To: dev

Some .so libraries needs to be linked with external libraries.  For that the
LDLIBS and EXTRA_LDFLAGS variables should be present on the link line when
those .so files are created.  PMD Makefile is responsible for filling the
LDLIBS variable with the link to the external library it needs.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
Changelog: Update commit log.

 mk/rte.lib.mk | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 9ff5cce..fcc8e20 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -81,7 +81,8 @@ O_TO_A_DO = @set -e; \
 	$(O_TO_A) && \
 	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
 
-O_TO_S = $(LD) $(_CPU_LDFLAGS) -shared $(OBJS-y) -Wl,-soname,$(LIB) -o $(LIB)
+O_TO_S = $(LD) $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) $(LDLIBS) -shared $(OBJS-y) \
+	 -Wl,-soname,$(LIB) -o $(LIB)
 O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
 O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
 O_TO_S_DO = @set -e; \
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [dpdk-dev] [PACTH v3 2/2] mlx4: fix shared library dependency
  2015-07-31 13:14 ` [dpdk-dev] [PACTH v3 1/2] mk: use LDLIBS and EXTRA_LDFLAGS variable when building the shared object file Nelio Laranjeiro
@ 2015-07-31 13:14   ` Nelio Laranjeiro
  2015-08-02 22:23     ` Thomas Monjalon
  0 siblings, 1 reply; 8+ messages in thread
From: Nelio Laranjeiro @ 2015-07-31 13:14 UTC (permalink / raw)
  To: dev

librte_pmd_mlx4.so needs to be linked with libibverbs otherwise, the PMD is
not able to open Mellanox devices and the following message is printed by
testpmd at startup
"librte_pmd_mlx4: cannot access device, is mlx4_ib loaded?".

Applications dependency on libibverbs are moved to be only valid in static
mode, in shared mode, applications do not depend on it anymore,
librte_pmd_mlx4.so keeps this dependency and thus is linked with libibverbs.

MLX4 cannot be supported in combined shared library because there is no clean
way of adding -libverbs to the combined library.

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
---
Changelog: fail the compilation of the PMD when the configuration is not
supported.

 doc/guides/nics/mlx4.rst  | 5 +++++
 drivers/net/mlx4/Makefile | 7 +++++++
 mk/rte.app.mk             | 3 +++
 3 files changed, 15 insertions(+)

diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst
index c33aa38..562db06 100644
--- a/doc/guides/nics/mlx4.rst
+++ b/doc/guides/nics/mlx4.rst
@@ -47,6 +47,11 @@ There is also a `section dedicated to this poll mode driver
    be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX4_PMD=y`` and
    recompiling DPDK.
 
+.. warning::
+
+   ``CONFIG_RTE_BUILD_COMBINE_LIBS`` with ``CONFIG_RTE_BUILD_SHARED_LIB``
+   is not supported and thus the compilation will fail with this configuration.
+
 Implementation details
 ----------------------
 
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index 14cb53f..0399aff 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -31,6 +31,12 @@
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
+ifeq ($(CONFIG_RTE_BUILD_COMBINE_LIBS)$(CONFIG_RTE_BUILD_SHARED_LIB),yy)
+$(info MLX4: Not supported in a combined shared library)
+all:
+	false
+endif
+
 # Library name.
 LIB = librte_pmd_mlx4.a
 
@@ -50,6 +56,7 @@ CFLAGS += -g
 CFLAGS += -I.
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
+LDLIBS += -libverbs
 
 # A few warnings cannot be avoided in external headers.
 CFLAGS += -Wno-error=cast-qual
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 97719cb..3871205 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -100,7 +100,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_VHOST_USER),n)
 _LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lfuse
 endif
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
 _LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs
+endif # ! CONFIG_RTE_BUILD_SHARED_LIBS
+
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lz
 
 _LDLIBS-y += --start-group
-- 
1.9.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [dpdk-dev] [PACTH v3 2/2] mlx4: fix shared library dependency
  2015-07-31 13:14   ` [dpdk-dev] [PACTH v3 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
@ 2015-08-02 22:23     ` Thomas Monjalon
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Monjalon @ 2015-08-02 22:23 UTC (permalink / raw)
  To: Nelio Laranjeiro; +Cc: dev

2015-07-31 15:14, Nelio Laranjeiro:
> librte_pmd_mlx4.so needs to be linked with libibverbs otherwise, the PMD is
> not able to open Mellanox devices and the following message is printed by
> testpmd at startup
> "librte_pmd_mlx4: cannot access device, is mlx4_ib loaded?".
> 
> Applications dependency on libibverbs are moved to be only valid in static
> mode, in shared mode, applications do not depend on it anymore,
> librte_pmd_mlx4.so keeps this dependency and thus is linked with libibverbs.
> 
> MLX4 cannot be supported in combined shared library because there is no clean
> way of adding -libverbs to the combined library.
> 
> Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
> Acked-by: Olivier Matz <olivier.matz@6wind.com>

> +$(info MLX4: Not supported in a combined shared library)
> +all:
> +	false
changed to;
all:
	@echo 'MLX4: Not supported in a combined shared library'
	@false

Applied, thanks

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-08-02 22:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-29 13:56 [dpdk-dev] [PATCH 1/2] mk: add LDLIBS variable when producing the .so file Nelio Laranjeiro
2015-07-29 13:56 ` [dpdk-dev] [PATCH 2/2] mlx4: add missing library dependency when compiling in shared library Nelio Laranjeiro
2015-07-30 14:48 ` [dpdk-dev] [PACTH v2 1/2] mk: use LDLIBS variable when building the shared object file Nelio Laranjeiro
2015-07-30 14:48   ` [dpdk-dev] [PACTH v2 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
2015-07-30 16:22     ` Thomas Monjalon
2015-07-31 13:14 ` [dpdk-dev] [PACTH v3 1/2] mk: use LDLIBS and EXTRA_LDFLAGS variable when building the shared object file Nelio Laranjeiro
2015-07-31 13:14   ` [dpdk-dev] [PACTH v3 2/2] mlx4: fix shared library dependency Nelio Laranjeiro
2015-08-02 22:23     ` Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).