* [dpdk-dev] DPDK 18.02 on ARM64 is broken
@ 2018-02-22 14:23 Marco Varlese
2018-02-22 14:33 ` Gaëtan Rivet
2018-02-22 17:28 ` Hemant Agrawal
0 siblings, 2 replies; 13+ messages in thread
From: Marco Varlese @ 2018-02-22 14:23 UTC (permalink / raw)
To: dev
Hi,
I am trying to build the latest DPDK (18.02) but facing some issues on ARM64
platform.
I'm using the option CONFIG_RTE_MAJOR_ABI to set the SONAME to 18.02.
===== START =====
The error is connected to building the librte_pmd_dpaa.so. Please, see below:
[ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
linux/bin/ld: warning: librte_bus_dpaa.so.18.02, needed by
/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)
[ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
linux/bin/ld: warning: librte_mempool_dpaa.so.18.02, needed by
/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_reset_mcast_filt
er_table@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_pool_range@DP
DK_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_init@DPD
K_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_add_mac_addr@DPD
K_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_disable_rx@DPDK_
17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_threshold
@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_delete_cgr@DPDK_18.
02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_cgr@DPDK_18.
02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dqrr_consume@DPDK_1
7.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_global_init@DPDK_17
.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_disa
ble@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_dpaa_io@DPDK_1
8.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_svr_family@DPDK_18.
02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_clear_mac_addr@D
PDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_enable_rx@DPDK_1
7.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_init_fq@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_held_bufs@DPDK
_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_logtype_pmd@DPDK_17
.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_maxfrm@DPDK_
17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get@DPDK_1
7.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_h
i@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_threshold
@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_disable
@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dequeue@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_netcfg@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_enab
le@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `bman_acquire@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_mcast_filter
_table@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_discard_rx_error
s@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_set_vdq@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_fq_init@
DPDK_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_portal_poll_rx@DPDK
_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_modify_cgr@DPDK_18.
02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_fq@DPDK_17.1
1'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_query_fq_frm_cnt@DP
DK_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_driver_register
@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_ip_rev@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_quanta@DP
DK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get_all@DP
DK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_enqueue_multi@DPDK_
17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fdoff@DPDK_1
7.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_ic_params@DP
DK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fdoff@DPDK_1
7.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `bman_global_init@DPDK_17
.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_cgrid_range@D
PDK_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_enable@
DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_reset@DPDK
_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_bp@DPDK_17.1
1'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_reserve_fqid_range@
DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `qman_release_cgrid_range
@DPDK_18.02'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_quanta@DP
DK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_l
o@DPDK_17.11'
[ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_bpid_info@DPDK_
17.11'
[ 405s] collect2: error: ld returned 1 exit status
===== END =====
Despite the error saying that the librte_mempool_dpaa.so.18.02 cannot be found,
I can see it being built somewhere earlier in the compilation process. Please,
see below:
===== START =====
[ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
armv8a-linuxapp-gcc-default/lib -Wl,--version-
script=/home/abuild/rpmbuild/BUILD/dpdk-
18.02/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map -shared
dpaa2_hw_mempool.o -z defs -lrte_bus_fslmc -lrte_eal -lrte_mempool -lrte_ring
-Wl,-soname,librte_mempool_dpaa2.so.18.02 -o librte_mempool_dpaa2.so.18.02
[ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
armv8a-linuxapp-gcc-default/lib -Wl,--version-
script=/home/abuild/rpmbuild/BUILD/dpdk-
18.02/drivers/mempool/dpaa/rte_mempool_dpaa_version.map -shared dpaa_mempool.o
-z defs -lrte_bus_dpaa -lrte_eal -lrte_mempool -lrte_ring -Wl,-
soname,librte_mempool_dpaa.so.18.02 -o librte_mempool_dpaa.so.18.02
[ 216s] INSTALL-LIB librte_mempool_dpaa2.so.18.02
[ 216s] cp -f librte_mempool_dpaa2.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
18.02/arm64-armv8a-linuxapp-gcc-default/lib
[ 216s] ln -s -f librte_mempool_dpaa2.so.18.02
/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
default/lib/librte_mempool_dpaa2.so
[ 217s] INSTALL-LIB librte_mempool_dpaa.so.18.02
[ 217s] cp -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
18.02/arm64-armv8a-linuxapp-gcc-default/lib
[ 217s] ln -s -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
18.02/arm64-armv8a-linuxapp-gcc-default/lib/librte_mempool_dpaa.so
===== END =====
Cheers,
--
Marco V
SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken
2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese
@ 2018-02-22 14:33 ` Gaëtan Rivet
2018-02-22 17:28 ` Hemant Agrawal
1 sibling, 0 replies; 13+ messages in thread
From: Gaëtan Rivet @ 2018-02-22 14:33 UTC (permalink / raw)
To: Marco Varlese; +Cc: dev
Hi Marco,
On Thu, Feb 22, 2018 at 03:23:47PM +0100, Marco Varlese wrote:
> Hi,
>
> I am trying to build the latest DPDK (18.02) but facing some issues on ARM64
> platform.
>
> I'm using the option CONFIG_RTE_MAJOR_ABI to set the SONAME to 18.02.
>
Just to put things in their context for the DPAA maintainers (who may
have missed the IRC conversation): the error occurs with SHARED=y.
Some symbols are not properly exported it seems.
<snip>
>
>
> Cheers,
> --
> Marco V
>
> SUSE LINUX GmbH | GF: Felix Imendörffer, Jane Smithard, Graham Norton
> HRB 21284 (AG Nürnberg) Maxfeldstr. 5, D-90409, Nürnberg
Regards,
--
Gaëtan Rivet
6WIND
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken
2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese
2018-02-22 14:33 ` Gaëtan Rivet
@ 2018-02-22 17:28 ` Hemant Agrawal
2018-02-22 20:00 ` Marco Varlese
1 sibling, 1 reply; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-22 17:28 UTC (permalink / raw)
To: Marco Varlese, dev
Hi Marco/Gaetan,
On 2/22/2018 7:53 PM, Marco Varlese wrote:
> Hi,
>
> I am trying to build the latest DPDK (18.02) but facing some issues on ARM64
> platform.
>
> I'm using the option CONFIG_RTE_MAJOR_ABI to set the SONAME to 18.02.
>
you mean you configured CONFIG_RTE_MAJOR_ABI=18.02, And did a SHARED build.
I am not seeing any error on my ubuntu m/c while doing shared build. May
be I am missing something or it is different on suse.
> ===== START =====
> The error is connected to building the librte_pmd_dpaa.so. Please, see below:
> [ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
> linux/bin/ld: warning: librte_bus_dpaa.so.18.02, needed by
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)
can you check if "librte_bus_dpaa.so.18.02" is present in your build?
This is similar to rte_pmd_ixgbe.so.18.02 having dependency on
librte_bus_pci.so.18.02
Are you using some rpm build script?
> [ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-
> linux/bin/ld: warning: librte_mempool_dpaa.so.18.02, needed by
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so, not found (try using -rpath or -rpath-link)
This is similar to previous, can you check the presence of
librte_mempool_dpaa.so.18.02
regards,
Hemant
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_reset_mcast_filt
> er_table@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_pool_range@DP
> DK_18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_init@DPD
> K_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_add_mac_addr@DPD
> K_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_disable_rx@DPDK_
> 17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_threshold
> @DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_delete_cgr@DPDK_18.
> 02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_cgr@DPDK_18.
> 02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dqrr_consume@DPDK_1
> 7.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_global_init@DPDK_17
> .11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_disa
> ble@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_dpaa_io@DPDK_1
> 8.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_svr_family@DPDK_18.
> 02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_clear_mac_addr@D
> PDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_enable_rx@DPDK_1
> 7.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_init_fq@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_held_bufs@DPDK
> _18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_logtype_pmd@DPDK_17
> .11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_maxfrm@DPDK_
> 17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get@DPDK_1
> 7.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_h
> i@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_threshold
> @DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_disable
> @DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dequeue@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_netcfg@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_promiscuous_enab
> le@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `bman_acquire@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_mcast_filter
> _table@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_discard_rx_error
> s@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_set_vdq@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_portal_fq_init@
> DPDK_18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_portal_poll_rx@DPDK
> _18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_modify_cgr@DPDK_18.
> 02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create_fq@DPDK_17.1
> 1'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_query_fq_frm_cnt@DP
> DK_18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_driver_register
> @DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_ip_rev@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fc_quanta@DP
> DK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_get_all@DP
> DK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_enqueue_multi@DPDK_
> 17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fdoff@DPDK_1
> 7.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_ic_params@DP
> DK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get_fdoff@DPDK_1
> 7.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `bman_global_init@DPDK_17
> .11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_cgrid_range@D
> PDK_18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_loopback_enable@
> DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_stats_reset@DPDK
> _17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_bp@DPDK_17.1
> 1'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_reserve_fqid_range@
> DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `qman_release_cgrid_range
> @DPDK_18.02'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set_fc_quanta@DP
> DK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `fman_dealloc_bufs_mask_l
> o@DPDK_17.11'
> [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_bpid_info@DPDK_
> 17.11'
> [ 405s] collect2: error: ld returned 1 exit status
> ===== END =====
>
> Despite the error saying that the librte_mempool_dpaa.so.18.02 cannot be found,
> I can see it being built somewhere earlier in the compilation process. Please,
> see below:
> ===== START =====
> [ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
> armv8a-linuxapp-gcc-default/lib -Wl,--version-
> script=/home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map -shared
> dpaa2_hw_mempool.o -z defs -lrte_bus_fslmc -lrte_eal -lrte_mempool -lrte_ring
> -Wl,-soname,librte_mempool_dpaa2.so.18.02 -o librte_mempool_dpaa2.so.18.02
> [ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-
> armv8a-linuxapp-gcc-default/lib -Wl,--version-
> script=/home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/drivers/mempool/dpaa/rte_mempool_dpaa_version.map -shared dpaa_mempool.o
> -z defs -lrte_bus_dpaa -lrte_eal -lrte_mempool -lrte_ring -Wl,-
> soname,librte_mempool_dpaa.so.18.02 -o librte_mempool_dpaa.so.18.02
> [ 216s] INSTALL-LIB librte_mempool_dpaa2.so.18.02
> [ 216s] cp -f librte_mempool_dpaa2.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> [ 216s] ln -s -f librte_mempool_dpaa2.so.18.02
> /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> default/lib/librte_mempool_dpaa2.so
> [ 217s] INSTALL-LIB librte_mempool_dpaa.so.18.02
> [ 217s] cp -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> [ 217s] ln -s -f librte_mempool_dpaa.so.18.02 /home/abuild/rpmbuild/BUILD/dpdk-
> 18.02/arm64-armv8a-linuxapp-gcc-default/lib/librte_mempool_dpaa.so
> ===== END =====
>
>
> Cheers,
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] DPDK 18.02 on ARM64 is broken
2018-02-22 17:28 ` Hemant Agrawal
@ 2018-02-22 20:00 ` Marco Varlese
2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon
0 siblings, 1 reply; 13+ messages in thread
From: Marco Varlese @ 2018-02-22 20:00 UTC (permalink / raw)
To: Hemant Agrawal, dev
Dear Hemant,
On Thu, 2018-02-22 at 22:58 +0530, Hemant Agrawal wrote:
> Hi Marco/Gaetan,
>
> On 2/22/2018 7:53 PM, Marco Varlese wrote:
> > Hi,
> >
> > I am trying to build the latest DPDK (18.02) but facing some issues
> > on ARM64
> > platform.
> >
> > I'm using the option CONFIG_RTE_MAJOR_ABI to set the SONAME to
> > 18.02.
> >
>
> you mean you configured CONFIG_RTE_MAJOR_ABI=18.02, And did a SHARED
> build.
Right; however, the issue happens even by just using the SHARED
option... no need to have the RTE_MAJOR_ABI to reproduce.
> I am not seeing any error on my ubuntu m/c while doing shared build.
> May
> be I am missing something or it is different on suse.
The exact same issue was reproduced by Thomas Monjalon who very kindly
assisted me over #dpdk channel on IRC.
I don't think he runs openSUSE distribution; howevere, he could confirm
it just to be sure...
>
> > ===== START =====
> > The error is connected to building the librte_pmd_dpaa.so. Please,
> > see below:
> > [ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-
> > suse-
> > linux/bin/ld: warning: librte_bus_dpaa.so.18.02, needed by
> > /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so, not found (try using -rpath or
> > -rpath-link)
>
> can you check if "librte_bus_dpaa.so.18.02" is present in your
> build?
>
> This is similar to rte_pmd_ixgbe.so.18.02 having dependency on
> librte_bus_pci.so.18.02
>
> Are you using some rpm build script?
>
> > [ 405s] /usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-
> > suse-
> > linux/bin/ld: warning: librte_mempool_dpaa.so.18.02, needed by
> > /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so, not found (try using -rpath or
> > -rpath-link)
>
> This is similar to previous, can you check the presence of
> librte_mempool_dpaa.so.18.02
If you read my email fully, you'll see that I point out the fact that
the .so are built... just go down at the bottom of my previous email.
>
> regards,
> Hemant
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_reset_mcast_filt
> > er_table@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_
> > pool_range@DP
> > DK_18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_po
> > rtal_init@DPD
> > K_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_add
> > _mac_addr@DPD
> > K_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_dis
> > able_rx@DPDK_
> > 17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_set_fc_threshold
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_delete
> > _cgr@DPDK_18.
> > 02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create
> > _cgr@DPDK_18.
> > 02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dqrr_c
> > onsume@DPDK_1
> > 7.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_global
> > _init@DPDK_17
> > .11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_promiscuous_disa
> > ble@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_d
> > paa_io@DPDK_1
> > 8.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_svr_fa
> > mily@DPDK_18.
> > 02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_cle
> > ar_mac_addr@D
> > PDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_ena
> > ble_rx@DPDK_1
> > 7.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_init_f
> > q@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `per_lcore_h
> > eld_bufs@DPDK
> > _18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_logtyp
> > e_pmd@DPDK_17
> > .11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set
> > _maxfrm@DPDK_
> > 17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_sta
> > ts_get@DPDK_1
> > 7.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_dealloc_bufs_mask_h
> > i@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_get_fc_threshold
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_loopback_disable
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_dequeu
> > e@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `dpaa_netcfg
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_promiscuous_enab
> > le@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `bman_acquir
> > e@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_set_mcast_filter
> > _table@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_discard_rx_error
> > s@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_set_vd
> > q@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `rte_dpaa_portal_fq_init@
> > DPDK_18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_portal
> > _poll_rx@DPDK
> > _18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_modify
> > _cgr@DPDK_18.
> > 02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_create
> > _fq@DPDK_17.1
> > 1'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_query_
> > fq_frm_cnt@DP
> > DK_18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `rte_dpaa_driver_register
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_ip_rev
> > @DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get
> > _fc_quanta@DP
> > DK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_sta
> > ts_get_all@DP
> > DK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_enqueu
> > e_multi@DPDK_
> > 17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set
> > _fdoff@DPDK_1
> > 7.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set
> > _ic_params@DP
> > DK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_get
> > _fdoff@DPDK_1
> > 7.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `bman_global
> > _init@DPDK_17
> > .11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `qman_alloc_
> > cgrid_range@D
> > PDK_18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_if_loopback_enable@
> > DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_sta
> > ts_reset@DPDK
> > _17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set
> > _bp@DPDK_17.1
> > 1'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `qman_reserve_fqid_range@
> > DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `qman_release_cgrid_range
> > @DPDK_18.02'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `fman_if_set
> > _fc_quanta@DP
> > DK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to
> > `fman_dealloc_bufs_mask_l
> > o@DPDK_17.11'
> > [ 405s] /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-
> > linuxapp-gcc-
> > default/lib/librte_pmd_dpaa.so: undefined reference to `rte_dpaa_bp
> > id_info@DPDK_
> > 17.11'
> > [ 405s] collect2: error: ld returned 1 exit status
> > ===== END =====
> >
> > Despite the error saying that the librte_mempool_dpaa.so.18.02
> > cannot be found,
> > I can see it being built somewhere earlier in the compilation
> > process. Please,
> > see below:
> > ===== START =====
> > [ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/arm64-
> > armv8a-linuxapp-gcc-default/lib -Wl,--version-
> > script=/home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/drivers/mempool/dpaa2/rte_mempool_dpaa2_version.map -shared
> > dpaa2_hw_mempool.o -z defs -lrte_bus_fslmc -lrte_eal -lrte_mempool
> > -lrte_ring
> > -Wl,-soname,librte_mempool_dpaa2.so.18.02 -o
> > librte_mempool_dpaa2.so.18.02
> > [ 216s] gcc -DVERSION="18.02" -L/home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/arm64-
> > armv8a-linuxapp-gcc-default/lib -Wl,--version-
> > script=/home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/drivers/mempool/dpaa/rte_mempool_dpaa_version.map -shared
> > dpaa_mempool.o
> > -z defs -lrte_bus_dpaa -lrte_eal -lrte_mempool -lrte_ring -Wl,-
> > soname,librte_mempool_dpaa.so.18.02 -o librte_mempool_dpaa.so.18.02
> > [ 216s] INSTALL-LIB librte_mempool_dpaa2.so.18.02
> > [ 216s] cp -f librte_mempool_dpaa2.so.18.02
> > /home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> > [ 216s] ln -s -f librte_mempool_dpaa2.so.18.02
> > /home/abuild/rpmbuild/BUILD/dpdk-18.02/arm64-armv8a-linuxapp-gcc-
> > default/lib/librte_mempool_dpaa2.so
> > [ 217s] INSTALL-LIB librte_mempool_dpaa.so.18.02
> > [ 217s] cp -f librte_mempool_dpaa.so.18.02
> > /home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/arm64-armv8a-linuxapp-gcc-default/lib
> > [ 217s] ln -s -f librte_mempool_dpaa.so.18.02
> > /home/abuild/rpmbuild/BUILD/dpdk-
> > 18.02/arm64-armv8a-linuxapp-gcc-default/lib/librte_mempool_dpaa.so
> > ===== END =====
> >
> >
> > Cheers,
> >
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency
2018-02-22 20:00 ` Marco Varlese
@ 2018-02-22 22:53 ` Thomas Monjalon
2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: Thomas Monjalon @ 2018-02-22 22:53 UTC (permalink / raw)
To: hemant.agrawal, mvarlese; +Cc: dev, stable
The dynamic link is broken for ARM platform because the dependencies
of the DPAA PMD are not declared.
Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA")
Cc: stable@dpdk.org
Reported-by: Marco Varlese <mvarlese@suse.de>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
app/test-pmd/Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
index ed588ab6d..31646c113 100644
--- a/app/test-pmd/Makefile
+++ b/app/test-pmd/Makefile
@@ -46,6 +46,8 @@ endif
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y)
LDLIBS += -lrte_pmd_dpaa
+LDLIBS += -lrte_bus_dpaa
+LDLIBS += -lrte_mempool_dpaa
endif
ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
--
2.15.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries
2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon
@ 2018-02-22 22:53 ` Thomas Monjalon
2018-02-23 6:25 ` Hemant Agrawal
2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
2 siblings, 1 reply; 13+ messages in thread
From: Thomas Monjalon @ 2018-02-22 22:53 UTC (permalink / raw)
To: hemant.agrawal, mvarlese; +Cc: dev
The bus and mempool dependencies should be declared after the PMD
libraries needing them.
Moreover there is no need to disable the PMDs at the Makefile level,
in case the dependencies are not met.
Such dependencies should be handled at configuration time.
The other side effect of this clean-up is to take into account
the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
mk/rte.app.mk | 20 ++++----------------
1 file changed, 4 insertions(+), 16 deletions(-)
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 3eb41d176..b71a71663 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -127,11 +127,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lrte_pmd_bnx2x -lz
_LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
_LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa
-endif
_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2
_LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000
_LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena
@@ -204,16 +200,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
endif # CONFIG_RTE_LIBRTE_CRYPTODEV
@@ -232,10 +220,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev
endif # CONFIG_RTE_LIBRTE_RAWDEV
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2
-endif # CONFIG_RTE_LIBRTE_DPAA2_PMD
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
+_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2
endif # !CONFIG_RTE_BUILD_SHARED_LIBS
--
2.15.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency
2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon
2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon
@ 2018-02-23 5:15 ` Hemant Agrawal
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
2 siblings, 0 replies; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-23 5:15 UTC (permalink / raw)
To: Thomas Monjalon, mvarlese; +Cc: dev, stable
On 2/23/2018 4:23 AM, Thomas Monjalon wrote:
> The dynamic link is broken for ARM platform because the dependencies
> of the DPAA PMD are not declared.
>
> Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA")
> Cc: stable@dpdk.org
>
> Reported-by: Marco Varlese <mvarlese@suse.de>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries
2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon
@ 2018-02-23 6:25 ` Hemant Agrawal
2018-02-23 9:25 ` Thomas Monjalon
0 siblings, 1 reply; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-23 6:25 UTC (permalink / raw)
To: Thomas Monjalon, mvarlese; +Cc: dev
Hi Thomas,
On 2/23/2018 4:23 AM, Thomas Monjalon wrote:
> The bus and mempool dependencies should be declared after the PMD
> libraries needing them.
>
> Moreover there is no need to disable the PMDs at the Makefile level,
> in case the dependencies are not met.
> Such dependencies should be handled at configuration time.
>
> The other side effect of this clean-up is to take into account
> the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> ---
> mk/rte.app.mk | 20 ++++----------------
> 1 file changed, 4 insertions(+), 16 deletions(-)
This patch looks good, however I think we (NXP) need to also set some
dependency check in makefile to avoid dpaaX PMD compilations, if bus is
not available. I am working on a patch for the same.
Regards,
Hemant
>
> diff --git a/mk/rte.app.mk b/mk/rte.app.mk
> index 3eb41d176..b71a71663 100644
> --- a/mk/rte.app.mk
> +++ b/mk/rte.app.mk
> @@ -127,11 +127,7 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += -lrte_pmd_bnx2x -lz
> _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
> _LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe
> -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
> _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa
> -endif
> _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_pmd_dpaa2
> _LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += -lrte_pmd_e1000
> _LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += -lrte_pmd_ena
> @@ -204,16 +200,8 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
> -ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc
> -endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
> -
> -ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec
> -endif # CONFIG_RTE_LIBRTE_DPAA_BUS
>
> endif # CONFIG_RTE_LIBRTE_CRYPTODEV
>
> @@ -232,10 +220,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
> _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev
> endif # CONFIG_RTE_LIBRTE_RAWDEV
>
> -ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc
> -_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2
> -endif # CONFIG_RTE_LIBRTE_DPAA2_PMD
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc
> +_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2
>
> endif # !CONFIG_RTE_BUILD_SHARED_LIBS
>
>
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries
2018-02-23 6:25 ` Hemant Agrawal
@ 2018-02-23 9:25 ` Thomas Monjalon
2018-02-23 10:02 ` Hemant Agrawal
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Monjalon @ 2018-02-23 9:25 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dev, mvarlese
23/02/2018 07:25, Hemant Agrawal:
> Hi Thomas,
> On 2/23/2018 4:23 AM, Thomas Monjalon wrote:
> > The bus and mempool dependencies should be declared after the PMD
> > libraries needing them.
> >
> > Moreover there is no need to disable the PMDs at the Makefile level,
> > in case the dependencies are not met.
> > Such dependencies should be handled at configuration time.
> >
> > The other side effect of this clean-up is to take into account
> > the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL.
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > ---
> > mk/rte.app.mk | 20 ++++----------------
> > 1 file changed, 4 insertions(+), 16 deletions(-)
>
> This patch looks good, however I think we (NXP) need to also set some
> dependency check in makefile to avoid dpaaX PMD compilations, if bus is
> not available. I am working on a patch for the same.
Why do you think such check is necessary?
If the PMD is enable but not the bus, it is a configuration error.
A good configuration system would resolve it automatically,
but currently we do the configuration manually, so the user must fix
its configuration file.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 1/2] app/testpmd: fix DPAA shared library dependency
2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon
2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon
2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal
@ 2018-02-23 9:58 ` Hemant Agrawal
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal
2 siblings, 1 reply; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-23 9:58 UTC (permalink / raw)
To: dev; +Cc: thomas, mvarlese, yskoh, stable
The dynamic link is broken for ARM platform because the dependencies
of the DPAA PMD are not declared.
Fixes: 83c82e15e1c0 ("app/testpmd: support loopback config for DPAA")
Cc: stable@dpdk.org
Reported-by: Marco Varlese <mvarlese@suse.de>
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
app/test-pmd/Makefile | 4 +++-
app/test-pmd/cmdline.c | 4 ++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
index ed588ab..60ae9b9 100644
--- a/app/test-pmd/Makefile
+++ b/app/test-pmd/Makefile
@@ -44,8 +44,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
LDLIBS += -lrte_pmd_bond
endif
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_PMD),y)
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
LDLIBS += -lrte_pmd_dpaa
+LDLIBS += -lrte_bus_dpaa
+LDLIBS += -lrte_mempool_dpaa
endif
ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index d1dc1de..40b31ad 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -60,7 +60,7 @@
#include <rte_eth_bond.h>
#include <rte_eth_bond_8023ad.h>
#endif
-#ifdef RTE_LIBRTE_DPAA_PMD
+#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD
#include <rte_pmd_dpaa.h>
#endif
#ifdef RTE_LIBRTE_IXGBE_PMD
@@ -12861,7 +12861,7 @@ cmd_set_tx_loopback_parsed(
if (ret == -ENOTSUP)
ret = rte_pmd_bnxt_set_tx_loopback(res->port_id, is_on);
#endif
-#ifdef RTE_LIBRTE_DPAA_PMD
+#if defined RTE_LIBRTE_DPAA_BUS && defined RTE_LIBRTE_DPAA_PMD
if (ret == -ENOTSUP)
ret = rte_pmd_dpaa_set_tx_loopback(res->port_id, is_on);
#endif
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
@ 2018-02-23 9:58 ` Hemant Agrawal
2018-03-13 23:36 ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon
0 siblings, 1 reply; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-23 9:58 UTC (permalink / raw)
To: dev; +Cc: thomas, mvarlese, yskoh, stable
This patch fixes the build dependency of various
dpaaX components, when the dpaa or fslmc bus is disabled,
or VFIO is disabled.
Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8")
Cc: stable@dpdk.org
Reported-by: Yongseok Koh <yskoh@mellanox.com>
Suggested-by: Thomas Monjalon <thomas@monjalon.net>
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/Makefile | 2 ++
drivers/bus/fslmc/Makefile | 4 ----
drivers/crypto/Makefile | 4 ++++
drivers/event/Makefile | 4 ++++
drivers/mempool/Makefile | 4 ++++
drivers/net/Makefile | 4 ++++
mk/rte.app.mk | 29 ++++++++++++++++++-----------
7 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile
index 7ef2593..c251b65 100644
--- a/drivers/bus/Makefile
+++ b/drivers/bus/Makefile
@@ -4,7 +4,9 @@
include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
+ifeq ($(CONFIG_RTE_EAL_VFIO),y)
DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
+endif
DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile
index de237f0..952b4c0 100644
--- a/drivers/bus/fslmc/Makefile
+++ b/drivers/bus/fslmc/Makefile
@@ -9,10 +9,6 @@ include $(RTE_SDK)/mk/rte.vars.mk
#
LIB = librte_bus_fslmc.a
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
-CONFIG_RTE_LIBRTE_FSLMC_BUS = $(CONFIG_RTE_LIBRTE_DPAA2_PMD)
-endif
-
CFLAGS += -DALLOW_EXPERIMENTAL_API
ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT),y)
CFLAGS += -O0 -g
diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
index 628bd14..26e503e 100644
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
@@ -14,7 +14,11 @@ DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
DIRS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += mrvl
DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
+endif
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
+endif
include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/event/Makefile b/drivers/event/Makefile
index c3d89a1..f301d8d 100644
--- a/drivers/event/Makefile
+++ b/drivers/event/Makefile
@@ -7,8 +7,12 @@ include $(RTE_SDK)/mk/rte.vars.mk
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
+endif
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
+endif
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile
index aae2cb1..fc8b73b 100644
--- a/drivers/mempool/Makefile
+++ b/drivers/mempool/Makefile
@@ -3,8 +3,12 @@
include $(RTE_SDK)/mk/rte.vars.mk
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
+endif
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
+endif
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index e112732..39eb550 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -15,8 +15,12 @@ DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa
+endif
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
+endif
DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 3eb41d1..94525dc 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -113,11 +113,21 @@ endif
_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += -lrte_bus_pci
_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += -lrte_bus_vdev
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
+ifeq ($(CONFIG_RTE_EAL_VFIO),y)
+_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += -lrte_bus_fslmc
+endif
ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
# plugins (link only if static libraries)
_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += -lrte_mempool_stack
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
+endif
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
+_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += -lrte_mempool_dpaa2
+endif
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += -lrte_pmd_af_packet
_LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += -lrte_pmd_ark
@@ -128,11 +138,11 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += -lrte_pmd_bnxt
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += -lrte_pmd_bond
_LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += -lrte_pmd_cxgbe
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += -lrte_bus_dpaa
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += -lrte_mempool_dpaa
_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += -lrte_pmd_dpaa
endif
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
_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
_LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += -lrte_pmd_enic
@@ -204,14 +214,10 @@ _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -lrte_pmd_armv8
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += -L$(ARMV8_CRYPTO_LIB_PATH) -larmv8_crypto
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mrvl_crypto -lmusdk
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-ifeq ($(CONFIG_RTE_LIBRTE_FSLMC_BUS),y)
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_pmd_dpaa2_sec
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_mempool_dpaa2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += -lrte_bus_fslmc
endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-
ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_bus_dpaa
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += -lrte_pmd_dpaa_sec
endif # CONFIG_RTE_LIBRTE_DPAA_BUS
@@ -221,8 +227,13 @@ ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf
+ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event
+endif # CONFIG_RTE_LIBRTE_DPAA_BUS
+ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event
+endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
+
_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx
_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event
@@ -232,10 +243,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_pmd_skeleton_rawdev
endif # CONFIG_RTE_LIBRTE_RAWDEV
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_bus_fslmc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += -lrte_mempool_dpaa2
-endif # CONFIG_RTE_LIBRTE_DPAA2_PMD
endif # !CONFIG_RTE_BUILD_SHARED_LIBS
--
2.7.4
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries
2018-02-23 9:25 ` Thomas Monjalon
@ 2018-02-23 10:02 ` Hemant Agrawal
0 siblings, 0 replies; 13+ messages in thread
From: Hemant Agrawal @ 2018-02-23 10:02 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: dev, mvarlese
On 2/23/2018 2:55 PM, Thomas Monjalon wrote:
> 23/02/2018 07:25, Hemant Agrawal:
>> Hi Thomas,
>> On 2/23/2018 4:23 AM, Thomas Monjalon wrote:
>>> The bus and mempool dependencies should be declared after the PMD
>>> libraries needing them.
>>>
>>> Moreover there is no need to disable the PMDs at the Makefile level,
>>> in case the dependencies are not met.
>>> Such dependencies should be handled at configuration time.
>>>
>>> The other side effect of this clean-up is to take into account
>>> the mempool option CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL.
>>>
>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>> ---
>>> mk/rte.app.mk | 20 ++++----------------
>>> 1 file changed, 4 insertions(+), 16 deletions(-)
>>
>> This patch looks good, however I think we (NXP) need to also set some
>> dependency check in makefile to avoid dpaaX PMD compilations, if bus is
>> not available. I am working on a patch for the same.
>
> Why do you think such check is necessary?
> If the PMD is enable but not the bus, it is a configuration error.
> A good configuration system would resolve it automatically,
> but currently we do the configuration manually, so the user must fix
> its configuration file.
>
I agree with your comment. That is the ideal approach.
However, just to make it convenient and to support cases like VFIO
disable, I have added few checks in my v2.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal
@ 2018-03-13 23:36 ` Thomas Monjalon
0 siblings, 0 replies; 13+ messages in thread
From: Thomas Monjalon @ 2018-03-13 23:36 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: stable, dev, mvarlese, yskoh
23/02/2018 10:58, Hemant Agrawal:
> This patch fixes the build dependency of various
> dpaaX components, when the dpaa or fslmc bus is disabled,
> or VFIO is disabled.
>
> Fixes: 1ee9569576f6 ("config: enable dpaaX drivers for generic ARMv8")
> Cc: stable@dpdk.org
>
> Reported-by: Yongseok Koh <yskoh@mellanox.com>
> Suggested-by: Thomas Monjalon <thomas@monjalon.net>
> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
I am not satisfied by handling the bus dependencies all over the place,
but I understand it is convenient.
Considering that this build system is dying (in favor of meson's one),
Series applied, thanks.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2018-03-13 23:37 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-22 14:23 [dpdk-dev] DPDK 18.02 on ARM64 is broken Marco Varlese
2018-02-22 14:33 ` Gaëtan Rivet
2018-02-22 17:28 ` Hemant Agrawal
2018-02-22 20:00 ` Marco Varlese
2018-02-22 22:53 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Thomas Monjalon
2018-02-22 22:53 ` [dpdk-dev] [PATCH 2/2] mk: clean up static link with DPAA libraries Thomas Monjalon
2018-02-23 6:25 ` Hemant Agrawal
2018-02-23 9:25 ` Thomas Monjalon
2018-02-23 10:02 ` Hemant Agrawal
2018-02-23 5:15 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix DPAA shared library dependency Hemant Agrawal
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 " Hemant Agrawal
2018-02-23 9:58 ` [dpdk-dev] [PATCH v2 2/2] mk: fix the build dependency structure for dpaaX Hemant Agrawal
2018-03-13 23:36 ` [dpdk-dev] [dpdk-stable] " 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).