On 10/30/19 6:46 AM, Gagandeep Singh wrote:
Hi Thierry,

-----Original Message-----
From: Thierry Herbelot <thierry.herbe...@6wind.com>
Sent: Tuesday, October 29, 2019 6:32 PM
To: dev@dpdk.org
Cc: Thomas Monjalon <tho...@monjalon.net>; Gagandeep Singh
<g.si...@nxp.com>
Subject: [PATCH] drivers/net: only compile PFE and ENETC when DPAA was
selected

PFE and ENETC depend on DPAA features.

Fixes: e56463ec47f0 ('net/enetc: enable dpaax library')
Fixes: 67fc3ff97c39 ('net/pfe: introduce basic functions')
Cc: Gagandeep Singh <g.si...@nxp.com>

Signed-off-by: Thierry Herbelot <thierry.herbe...@6wind.com>
---
  drivers/net/Makefile | 4 ++++
  mk/rte.app.mk        | 4 ++++
  2 files changed, 8 insertions(+)

diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index cee30367a1c3..966133427276 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -25,7 +25,9 @@ DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
  endif
  DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
  DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
  DIRS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc
+endif
  DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
  DIRS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe
  DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
@@ -50,7 +52,9 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
  DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
  DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2
  DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
  DIRS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe
+endif
  DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
  DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
  DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 1f5c74841fb3..e440dffd7575 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -170,7 +170,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)      += -
lrte_pmd_dpaa2
  endif
  _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD)      += -lrte_pmd_e1000
  _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
  _LDLIBS-$(CONFIG_RTE_LIBRTE_ENETC_PMD)      += -lrte_pmd_enetc
+endif
  _LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD)       += -lrte_pmd_enic
  _LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD)      += -lrte_pmd_fm10k
  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE)   += -lrte_pmd_failsafe
@@ -204,7 +206,9 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD)        += -
lrte_pmd_nfp
  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
  _LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)  += -lrte_pmd_octeontx2 -
lm
  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap -lpcap
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
  _LDLIBS-$(CONFIG_RTE_LIBRTE_PFE_PMD)        += -lrte_pmd_pfe
+endif
  _LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD)       += -lrte_pmd_qede
  _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
  ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
--
2.20.1

I didn't see any compilation issue on '19.11-rc1' tag and also these both PMDs 
are independent of DPAA_BUS, so we cannot accept these changes, can you please 
share your exact steps of compilation?

Hello, Gagan

Indeed, the compilation procedure was not described.

These are the reproduction steps (on an Intel machine):

git clone git://dpdk.org/dpdk
cd dpdk
make config T=x86_64-native-linux-gcc
cd build
vi .config
  => disable RTE_LIBRTE_DPAA_BUS and RTE_LIBRTE_FSLMC_BUS
make
...
== Build app/test
  LD test
/build/dpdk/build/lib/librte_pmd_caam_jr.a(caam_jr.o): In function `cryptodev_caam_jr_probe':
caam_jr.c:(.text+0x123a): undefined reference to `of_find_compatible_node'
caam_jr.c:(.text+0x125b): undefined reference to `of_find_compatible_node'
caam_jr.c:(.text+0x1276): undefined reference to `of_get_property'
/build/dpdk/build/lib/librte_pmd_caam_jr.a(caam_jr.o): In function `caam_jr_dequeue_burst':
caam_jr.c:(.text+0x1dfb): undefined reference to `dpaax_iova_table_p'
/build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function `enetc_dev_uninit': enetc_ethdev.c:(.text+0x679): undefined reference to `dpaax_iova_table_depopulate' /build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function `enetc_dev_init': enetc_ethdev.c:(.text+0xda1): undefined reference to `dpaax_iova_table_populate' /build/dpdk/build/lib/librte_pmd_enetc.a(enetc_ethdev.o): In function `enetc_pci_remove': enetc_ethdev.c:(.text+0xfe9): undefined reference to `dpaax_iova_table_depopulate'
collect2: error: ld returned 1 exit status

        Regards

        Thierry


Thanks,
Gagan



--
Thierry Herbelot
6WIND
Senior Software Engineer

Reply via email to