[dpdk-dev] app/pdump: fix pdump can't find the driver when compiled dpdk to shared libraries

Message ID 1488533270-9548-1-git-send-email-zhaozhanxu@163.com (mailing list archive)
State Rejected, archived
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

zhaozhanxu March 3, 2017, 9:27 a.m. UTC
  When I compiled dpdk With configuration "CONFIG_RTE_BUILD_SHARED_LIB=y",
I get error message "EAL: no driver found for net_pcap_rx_0" and
"EAL: Driver cannot attach the device (net_pcap_rx_0)" by running pdump.
So I add library librte_pmd_pcap.so.

Signed-off-by: zhaozhanxu <zhaozhanxu@163.com>
---
 app/pdump/Makefile | 4 ++++
 1 file changed, 4 insertions(+)
  

Comments

Thomas Monjalon March 10, 2017, 12:56 p.m. UTC | #1
2017-03-03 17:27, zhaozhanxu:
> When I compiled dpdk With configuration "CONFIG_RTE_BUILD_SHARED_LIB=y",
> I get error message "EAL: no driver found for net_pcap_rx_0" and
> "EAL: Driver cannot attach the device (net_pcap_rx_0)" by running pdump.
> So I add library librte_pmd_pcap.so.
[...]
> +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> +	_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap
> +endif

The idea of having drivers as shared libraries is to use them as plugins.
We are not going to link the applications with every drivers.
Instead we load them explicitly with -d option.

Someone should document it in
http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-sample-application
Any volunteer?
  
Pattan, Reshma March 24, 2017, 1:15 p.m. UTC | #2
> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon
> Sent: Friday, March 10, 2017 12:56 PM
> To: zhaozhanxu <zhaozhanxu@163.com>
> Cc: dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] app/pdump: fix pdump can't find the driver
> when compiled dpdk to shared libraries
> 
> 2017-03-03 17:27, zhaozhanxu:
> > When I compiled dpdk With configuration
> > "CONFIG_RTE_BUILD_SHARED_LIB=y", I get error message "EAL: no driver
> > found for net_pcap_rx_0" and
> > "EAL: Driver cannot attach the device (net_pcap_rx_0)" by running pdump.
> > So I add library librte_pmd_pcap.so.
> [...]
> > +ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> > +	_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap endif
> 
> The idea of having drivers as shared libraries is to use them as plugins.
> We are not going to link the applications with every drivers.
> Instead we load them explicitly with -d option.
> 
> Someone should document it in
> http://dpdk.org/doc/guides/linux_gsg/build_sample_apps.html#running-a-
> sample-application
> Any volunteer?

I will update the doc.

Thanks,
Reshma
  

Patch

diff --git a/app/pdump/Makefile b/app/pdump/Makefile
index 536198f..49c7ac4 100644
--- a/app/pdump/Makefile
+++ b/app/pdump/Makefile
@@ -41,6 +41,10 @@  CFLAGS += $(WERROR_FLAGS)
 
 SRCS-y := main.c
 
+ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
+	_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += -lrte_pmd_pcap
+endif
+
 # this application needs libraries first
 DEPDIRS-y += lib